)]}'
{
  "log": [
    {
      "commit": "0f667e81c030e9bef6b75dfb315c8d49a406c80c",
      "tree": "37c78291fce741ffc6ab34ed8edc360139bb5729",
      "parents": [
        "111ae13cd947014387cdc55bf938b317b8a9ecf5"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:27:48 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:28:03 2012 -0700"
      },
      "message": "Revert \"base: sync: signal a sync pt when not adding to the active_list\"\n\nThis reverts commit bd483da2f7a76290369bffb7e5171336d653c134.\n"
    },
    {
      "commit": "111ae13cd947014387cdc55bf938b317b8a9ecf5",
      "tree": "292dab6d3495204df08b681fd82a0232ca153bfd",
      "parents": [
        "5fd9c3d7df7389a1e136a0cb60e9ff85c655d8a1"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Wed Aug 08 13:46:22 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 19 12:28:02 2012 -0700"
      },
      "message": "sync: Fix error paths\n\nCheck the return value of get_unused_fd to make sure a valid\nfile descriptor is returned.\n\nMake sure to call put_unused_fd even if an error occurs before\nthe fd can be used.\n\nChange-Id: I0fe8f78d9e30ecfc4d271c5d875424543dae2d0f\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "8e0b3254cd4cc41d23364f36a88f9223761d9fff",
      "tree": "180dcb6f694294d67b213426dbf251e68ee03328",
      "parents": [
        "bf7a56a7b36c5bf896b1a864a82ca28331689298"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Oct 16 16:14:48 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:29:27 2012 -0700"
      },
      "message": "sync: add tracepoint support\n\nChange-Id: I181326db4247009161557e45444c9b3548b83d25\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "41991aae18f3533d96ed7e5ad5f7624ce6f668f5",
      "tree": "381e3b78ef92b4b80fc2f7308d315dd2285fde30",
      "parents": [
        "f76d6d6314cb06e58eb9129e6f858397b924da95"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Oct 16 15:16:55 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:52 2012 -0700"
      },
      "message": "sync: refactor sync debug printing\n\nMove driver callbacks to fill strings instead of using seq_files.  This\nwill allow those values to be used in a future tracepoint patch.\n\nChange-Id: I9b706343e35b11124141fe520e520514a32003d2\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "f76d6d6314cb06e58eb9129e6f858397b924da95",
      "tree": "d54318f83eab264a037f1f012230e087316e52e0",
      "parents": [
        "cc4ce5640a9d05ab98c3922c5bf8a471786bc44f"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Oct 15 17:58:46 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:43 2012 -0700"
      },
      "message": "sync: use proper barriers when waiting indefinitely\n\nThe previous fix only addressed waiting with a timeout.\n\nChange-Id: I8ad735d2d0dfdd53592904e8a54f5689cb5eaa5e\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "cc4ce5640a9d05ab98c3922c5bf8a471786bc44f",
      "tree": "6020139ef57df65e324989241a1c842c1f2162b9",
      "parents": [
        "ea12765da6722632c876bb6e4766e9f5e2480585"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Oct 15 17:51:01 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:33 2012 -0700"
      },
      "message": "sync: update new fence status with sync_fence_signal_pt\n\nIf a fence\u0027s pt is signaled before sync_fence_create is called, the fence\nwill never transition into the signaled state.  This also address a tiny\nrace if a merged fence\u0027s pt after sync_fence_get_status checks it\u0027s status\nand before fence-\u003estatus is updated.\n\nChange-Id: Ic8e292a323db26c6f04cb4757d920278b3125ff6\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ea12765da6722632c876bb6e4766e9f5e2480585",
      "tree": "f18807ad02843f53c56f382b2d6aca7ddb8f3b14",
      "parents": [
        "7dd3cc413590e3e92756ba28471d3cfe9b1af407"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Oct 10 18:08:11 2012 -0700"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Oct 17 17:22:28 2012 -0700"
      },
      "message": "sync: dump sync state of fence errors\n\nChange-Id: I297a43aadf83504993040ea875c7f22d988628f1\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "7a47627a88faa692baa3f0eef220ef2c36162363",
      "tree": "65ba2daf0d9f2c97ffef8832547bb966cda36840",
      "parents": [
        "e8cd8ba448c7f010908b9a9c61ee6457359a1f03"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Oct 11 12:35:22 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Oct 16 14:33:01 2012 -0700"
      },
      "message": "sync: protect unlocked access to fence status\n\nFence status is checked outside of locks in both sync_fence_wait and\nsync_fence_poll.  This patch adds propper barrier protection in these\ncases to avoid seeing stale status.\n\nChange-Id: I9d8b6ce6accb415e797df58068a1ccd54e6be445\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "bd483da2f7a76290369bffb7e5171336d653c134",
      "tree": "70b0180d4964a32d02daef059ed234ac8a8f6a37",
      "parents": [
        "b714287e72bd615795c47031b5742465ebf1959d"
      ],
      "author": {
        "name": "Jeff Boody",
        "email": "jboody@codeaurora.org",
        "time": "Fri Aug 17 12:59:08 2012 -0600"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Tue Sep 18 14:42:25 2012 -0700"
      },
      "message": "base: sync: signal a sync pt when not adding to the active_list\n\nA sync point that is not added to the active_list will never signal\nin sync_timeline_signal thus causing sync_fence_wait to deadlock or\nblock until the timeout expired.\n\nChange-Id: I75168d0eec874bf70dd8c28db9508dd8fc1077d3\nSigned-off-by: Jeff Boody \u003cjboody@codeaurora.org\u003e\n"
    },
    {
      "commit": "31802ec5ac352bac839a73c685d08cbdcd51c545",
      "tree": "f943f049f8db618f0229c66e2d1851942995895e",
      "parents": [
        "93b10c945aab4d32eb7a7b85bc1e16ce8ab5a2a5"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Sep 04 15:29:09 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:24:34 2012 -0700"
      },
      "message": "sync: improve timeout dumps\n\nChange-Id: I3b378d63c324c7b5862dd214f380b5e91131cc2a\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "93b10c945aab4d32eb7a7b85bc1e16ce8ab5a2a5",
      "tree": "d67e3f897afa424f333d2f237b03ca2c40e8d351",
      "parents": [
        "442fff479c893935d7845415541c4396727b74ae"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Sep 04 15:28:52 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:23:49 2012 -0700"
      },
      "message": "sync: use correct signed type when handling SYNC_IOC_WAIT\n\nChange-Id: Ic7d5adf9b145765e52b23186b8c3c793ccf29be7\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "442fff479c893935d7845415541c4396727b74ae",
      "tree": "9dfcaa88df84d6a2c86fada56c0f16b1a0bc87ca",
      "parents": [
        "458115838c9d61438173c060ea0f54c8695cb394"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Fri Aug 24 13:48:57 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:22:59 2012 -0700"
      },
      "message": "sync: dump sync state to console on timeout\n\nChange-Id: I74bca6b4a2afa7ed5b1f5233c5165d2edddf269a\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "458115838c9d61438173c060ea0f54c8695cb394",
      "tree": "2624e5c7c92399629c8a240cb714f00dec75baa0",
      "parents": [
        "131ed18f74d8297d4c1fa22bee6bba858b2097aa"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Fri Aug 24 13:48:34 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:22:13 2012 -0700"
      },
      "message": "sync: clean up compiler warnings\n\nChange-Id: I8a2ec5db652c61fd04571402067b37273b91e78f\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "131ed18f74d8297d4c1fa22bee6bba858b2097aa",
      "tree": "48a19e511b0964b699b018c67a2a864a08715ebc",
      "parents": [
        "df53a2ca1d816336799b67c8edd45e971c0c09ad"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Aug 21 18:43:21 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:21:28 2012 -0700"
      },
      "message": "sync: fix erase-o in sync_fence_wait\n\nChange-Id: I189707cf658a9f1f2943515c891b43961994e774\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "df53a2ca1d816336799b67c8edd45e971c0c09ad",
      "tree": "1ce797897c4176b0bbbfac719af0f3c72c363f29",
      "parents": [
        "741cddec165837bfef3fb69114263272fa77e808"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Tue Aug 21 17:57:19 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:20:35 2012 -0700"
      },
      "message": "sync: change wait timeout to mirror poll semantics\n\nChange-Id: Ib38e6d339d41885a33027752690d65a52b6897f6\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "741cddec165837bfef3fb69114263272fa77e808",
      "tree": "9f5930b7ea7d7551a2850c0362073ed7967e5a72",
      "parents": [
        "c4af266e3659a7306973d29e1a4707edf7ac6bea"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Thu Aug 02 17:26:45 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:19:55 2012 -0700"
      },
      "message": "sync: add reference counting to timelines\n\nIf a timeline is destroyed while fences still hold pts on it, the reworked\nfence release handler can cause the timeline to be freed before all it\u0027s points\nare freed.\n\nChange-Id: I1cd8ddb638eded7db9db446ff6b37f3dd165d6c4\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "c4af266e3659a7306973d29e1a4707edf7ac6bea",
      "tree": "11c02c6777c39eae210bd5331ba674c7cb2d2300",
      "parents": [
        "9934319415cdee69c02e00a98e8eacea5035135b"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Mon Jul 23 16:43:05 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:19:26 2012 -0700"
      },
      "message": "sync: add internal refcounting to fences\n\nIf a fence is released while a timeline that one of it\u0027s pts is on is being\nsignaled, it is possible for that fence to be deleted before it is signaled.\nThis patch adds a refcount for internal references such as signaled pt\nprocessing.\n\nChange-Id: Ie8605e6fd2ac026c207220a03d84e1c1078ec719\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "9934319415cdee69c02e00a98e8eacea5035135b",
      "tree": "f1114c1ca34fd1a90d1792239e46078c7e762041",
      "parents": [
        "1ee768514967eb57bddefbd9815a664ea59dafd8"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Jul 11 17:13:50 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:18:03 2012 -0700"
      },
      "message": "sync: optimize fence merges\n\nIf the two fences being merged contain sync_pts from the same timeline,\nthose two pts will be collapsed into a single pt representing the latter\nof the two.\n\nChange-Id: Iced7ebb7e5a17a0c8b1a2969ba3388a4edb9ecaf\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "1ee768514967eb57bddefbd9815a664ea59dafd8",
      "tree": "f34dfc990936e9756cef6592661e929752b02148",
      "parents": [
        "4fa0eb8ca5cf0eb9b0f5c01cd20e0ee50fa2c853"
      ],
      "author": {
        "name": "Ajay Dudani",
        "email": "adudani@codeaurora.org",
        "time": "Wed Jul 11 17:07:39 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Sep 13 21:16:50 2012 -0700"
      },
      "message": "sync: reorder sync_fence_release\n\nPreviously fence\u0027s pts were freed before the were the fence was removed from the\nglobal fence list.  This led to a race with the debugfs support where it would\niterate over sync_pts that had been freed.\n\nChange-Id: Ia3ddbf77de42ca593fc2dc353b5d04e42ddf3946\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: Ajay Dudani \u003cadudani@codeaurora.org\u003e\n"
    },
    {
      "commit": "4fb837a718d33bbaba19c0ccfbb3e23fc92d8ad3",
      "tree": "92a70c03a62561d8e9dd8dd3b62e3df8f5ec2a4e",
      "parents": [
        "c80114fd8bfecfb60121d0a82c59610435604ce3"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:09:22 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 30 13:12:40 2012 -0700"
      },
      "message": "sync: export sync API symbols\n\nThis is needed to allow modules to link against the sync subsystem\n\nChange-Id: I15c1818de329f24e4113ef1d0923413b22fd0eff\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "c80114fd8bfecfb60121d0a82c59610435604ce3",
      "tree": "c204bb472f04a6294634efb4fc8ef42e7d8a231b",
      "parents": [
        "dcefb2ee8d412a6fab43aabd4fb5668aab12ce04"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue May 15 16:23:26 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 30 13:12:40 2012 -0700"
      },
      "message": "sync: allow async waits to be canceled\n\nIn order to allow drivers to cleanly handled teardown we need to allow them\nto cancel pending async waits.  To do this cleanly, we move allocation of\nsync_fence_waiter to the driver calling sync_async_wait().\n\nChange-Id: Ifcd95648be6ec07026d67f810070a4310f099989\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "a1eeacaf7a96729d6bedae031af5565b7a4e9487",
      "tree": "f732d5942e88b389d6eb58e8aca17f767764d91b",
      "parents": [
        "484101e5a816cb1e9022805d1714445c473e5b63"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Mon Mar 19 17:28:32 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:24 2012 -0700"
      },
      "message": "sync: add poll support\n\nChange-Id: I294e481bba92658e6dd26f157ddbf0e9ff4ce8a5\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "3913bff501a81ff2719528f09830a1b88229ac21",
      "tree": "e33204ec9086135c84d71c6d8d86ec39cc9e780c",
      "parents": [
        "2c959d7b8d87672f1444126c50da5c373a0484af"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 17:45:50 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add ioctl to get fence data\n\nChange-Id: I71410aef7e03a52562f7cb15b993ac8441b1fa12\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "981c8a993d581ea3f2c071d1a2e631edc2a4c670",
      "tree": "7c940c2dce2c70dca60e2d6f72ca09dfa5a5321b",
      "parents": [
        "ad433ba4d1f447792fd6ae75183bad91f702a3ef"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Mar 14 19:49:15 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add debugfs support\n\nChange-Id: I8a7ea63e454fbeee1ecf17e6c3caff7c43b24734\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "ad433ba4d1f447792fd6ae75183bad91f702a3ef",
      "tree": "b26b200deac364f8b245c10ec72a201278455a12",
      "parents": [
        "560b5462071cdaa4865c4c113ec295cdf2565385"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Mar 15 14:59:33 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:23 2012 -0700"
      },
      "message": "sync: add timestamps to sync_pts\n\nChange-Id: I2ad855072b86873880769a09a3176e85aa1199d7\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "010accf8a0e643acd1f41ea7ae759714ccf8eda1",
      "tree": "a5d7424ecac8cf2f9e402fd44e0de374bb017c76",
      "parents": [
        "66981be398731073dc68d703327d2cf24bd9c6ab"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Mar 13 15:34:34 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed May 16 13:27:22 2012 -0700"
      },
      "message": "sync: Add synchronization framework\n\nnot run through checkpatch yet.\n\nChange-Id: I209f9db2824e0313f467f11ab09e5f54f0a4a6b5\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    }
  ]
}
