)]}'
{
  "log": [
    {
      "commit": "0d66bf6d3514b35eb6897629059443132992dbd7",
      "tree": "a47ee0fc3299361cf3b222c8242741adfedaab74",
      "parents": [
        "41719b03091911028116155deddc5eedf8c45e37"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 12 14:01:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 14 18:09:02 2009 +0100"
      },
      "message": "mutex: implement adaptive spinning\n\nChange mutex contention behaviour such that it will sometimes busy wait on\nacquisition - moving its behaviour closer to that of spinlocks.\n\nThis concept got ported to mainline from the -rt tree, where it was originally\nimplemented for rtmutexes by Steven Rostedt, based on work by Gregory Haskins.\n\nTesting with Ingo\u0027s test-mutex application (http://lkml.org/lkml/2006/1/8/50)\ngave a 345% boost for VFS scalability on my testbox:\n\n # ./test-mutex-shm V 16 10 | grep \"^avg ops\"\n avg ops/sec:               296604\n\n # ./test-mutex-shm V 16 10 | grep \"^avg ops\"\n avg ops/sec:               85870\n\nThe key criteria for the busy wait is that the lock owner has to be running on\na (different) cpu. The idea is that as long as the owner is running, there is a\nfair chance it\u0027ll release the lock soon, and thus we\u0027ll be better off spinning\ninstead of blocking/scheduling.\n\nSince regular mutexes (as opposed to rtmutexes) do not atomically track the\nowner, we add the owner in a non-atomic fashion and deal with the races in\nthe slowpath.\n\nFurthermore, to ease the testing of the performance impact of this new code,\nthere is means to disable this behaviour runtime (without having to reboot\nthe system), when scheduler debugging is enabled (CONFIG_SCHED_DEBUG\u003dy),\nby issuing the following command:\n\n # echo NO_OWNER_SPIN \u003e /debug/sched_features\n\nThis command re-enables spinning again (this is also the default):\n\n # echo OWNER_SPIN \u003e /debug/sched_features\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36596243daf7e1d795c647de04af95e835b8c5b4",
      "tree": "8348a9f5e3729cf0df5064753bfdcc1ec159eaa8",
      "parents": [
        "9e7f4d451e99b7592a96ad0efaf8bcc1e7b2f854"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: remove DEBUG_BUG_ON()\n\ncleanup: remove unused DEBUG_BUG_ON() defines.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e7f4d451e99b7592a96ad0efaf8bcc1e7b2f854",
      "tree": "bc61ead5d497222f93acebbb5cbe1debf6b758ee",
      "parents": [
        "61f4c3d6db3ecbdd4e1a2a7a1710c1410d085dd1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: rename DEBUG_WARN_ON()\n\nRename DEBUG_WARN_ON() to the less generic DEBUG_LOCKS_WARN_ON() name, so that\nit\u0027s clear that this is a lock-debugging internal mechanism.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fb00c6cbd8356f43b46322742f3c01c2a1f02da",
      "tree": "d337fb8dca27a719221d9012292e72c55e7267d1",
      "parents": [
        "20c5426f8155a89b6df06325f9b278f5052b8c7e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 26 00:24:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:16 2006 -0700"
      },
      "message": "[PATCH] work around ppc64 bootup bug by making mutex-debugging save/restore irqs\n\nIt seems ppc64 wants to lock mutexes in early bootup code, with interrupts\ndisabled, and they expect interrupts to stay disabled, else they crash.\n\nWork around this bug by making mutex debugging variants save/restore irq\nflags.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "408894ee4dd4debfdedd472eb4d8414892fc90f6",
      "tree": "b324c1086b804cc05c2839f9d9675eef2bc7c949",
      "parents": [
        "f3f54ffa703c6298240ffd69616451d645bae4d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 09 15:59:20 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:20 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, debugging code\n\nmutex implementation - add debugging code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\n"
    }
  ]
}
