)]}'
{
  "log": [
    {
      "commit": "714493cd5468f42ca3c4f730a9c17c203abd5059",
      "tree": "9d087ad3b74cb1bd6fbd9be486fc2b361c6407dd",
      "parents": [
        "b17170b2fac96705db3188f093f89e8e838418e4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 11 15:23:52 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:43:01 2008 -0400"
      },
      "message": "Improve semaphore documentation\n\nMove documentation from semaphore.h to semaphore.c as requested by\nAndrew Morton.  Also reformat to kernel-doc style and add some more\nnotes about the implementation.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "b17170b2fac96705db3188f093f89e8e838418e4",
      "tree": "3264d8a297cff20338b606559274c36fbf663f04",
      "parents": [
        "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 14:35:22 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:54 2008 -0400"
      },
      "message": "Simplify semaphore implementation\n\nBy removing the negative values of \u0027count\u0027 and relying on the wait_list to\nindicate whether we have any waiters, we can simplify the implementation\nby removing the protection against an unlikely race condition.  Thanks to\nDavid Howells for his suggestions.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d",
      "tree": "2e0ee0f2b864c89eda9067bda0d8a98596e022e7",
      "parents": [
        "f06d96865861c3dd01520f47e2e61c899db1631f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:43:13 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:46 2008 -0400"
      },
      "message": "Add down_timeout and change ACPI to use it\n\nACPI currently emulates a timeout for semaphores with calls to\ndown_trylock and sleep.  This produces horrible behaviour in terms of\nfairness and excessive wakeups.  Now that we have a unified semaphore\nimplementation, adding a real down_trylock is almost trivial.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f06d96865861c3dd01520f47e2e61c899db1631f",
      "tree": "d2fbd08af06a96b10192f7b27dd3ea2df1bb93d8",
      "parents": [
        "64ac24e738823161693bf791f87adc802cf529ff"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:19:33 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:40 2008 -0400"
      },
      "message": "Introduce down_killable()\n\ndown_killable() is the functional counterpart of mutex_lock_killable.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
