)]}'
{
  "log": [
    {
      "commit": "9795447f71324d8f14c19ed68b43c883135c3f59",
      "tree": "07bec75b0e0b90d1e9bc4395f13b8a08edae1a97",
      "parents": [
        "1bbf20835c4e088667a090ce6523a0f70b62dc76"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Aug 07 16:37:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 07 11:58:38 2009 +0200"
      },
      "message": "lockdep: Fix file mode of lock_stat\n\n/proc/lock_stat is writable.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c4A7BE7B6.10904@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9833f8cb952b9aa3f98a71e7bef8820cee3261a0",
      "tree": "9f88133ebedc6737cb41f43400088a2c6b1f2310",
      "parents": [
        "b4b136f44b3b7adb9265fd5566d0ea9b99b1cd5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Feb 14 16:59:04 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:28 2009 +0100"
      },
      "message": "lockstat: warn about disabled lock debugging\n\nAvoid confusion and clearly state lock debugging got disabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f510b233cfc7bfd57b6007071c52aa42e3d16b06",
      "tree": "d7e91f4d82ee3bed078f5813377b73a1eb7e382f",
      "parents": [
        "3ff176ca47911630d1555f150d36daa2d0819ea9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 17:53:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:22 2009 +0100"
      },
      "message": "lockdep: get_user_chars() redo\n\nGeneric, states independent, get_user_chars().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fc95e867f1e75351b89db3c68212dfcce7ea563",
      "tree": "618b2ed01d87a871f8423dd230bdb3609aa7c7f0",
      "parents": [
        "cf40bd16fdad42c053040bcd3988f5fdedbb6c57"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 13:10:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:51 2009 +0100"
      },
      "message": "lockdep: sanitize bit names\n\ns/\\(LOCKF\\?_ENABLED_[^ ]*\\)S\\(_READ\\)\\?\\\u003e/\\1\\2/g\n\nSo that the USED_IN and ENABLED have the same names.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf40bd16fdad42c053040bcd3988f5fdedbb6c57",
      "tree": "d97ab25726981712be806d77650b7f65167cfc88",
      "parents": [
        "6f2b9b9a9d750a9175dc79c74bfed5add840983c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 21 08:12:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:49 2009 +0100"
      },
      "message": "lockdep: annotate reclaim context (__GFP_NOFS)\n\nHere is another version, with the incremental patch rolled up, and\nadded reclaim context annotation to kswapd, and allocation tracing\nto slab allocators (which may only ever reach the page allocator\nin rare cases, so it is good to put annotations here too).\n\nHaven\u0027t tested this version as such, but it should be getting closer\nto merge worthy ;)\n\n--\nAfter noticing some code in mm/filemap.c accidentally perform a __GFP_FS\nallocation when it should not have been, I thought it might be a good idea to\ntry to catch this kind of thing with lockdep.\n\nI coded up a little idea that seems to work. Unfortunately the system has to\nactually be in __GFP_FS page reclaim, then take the lock, before it will mark\nit. But at least that might still be some orders of magnitude more common\n(and more debuggable) than an actual deadlock condition, so we have some\nimprovement I hope (the concept is no less complete than discovery of a lock\u0027s\ninterrupt contexts).\n\nI guess we could even do the same thing with __GFP_IO (normal reclaim), and\neven GFP_NOIO locks too... but filesystems will have the most locks and fiddly\ncode paths, so let\u0027s start there and see how it goes.\n\nIt *seems* to work. I did a quick test.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.28-rc6-00007-ged31348-dirty #26\n---------------------------------\ninconsistent {in-reclaim-W} -\u003e {ov-reclaim-W} usage.\nmodprobe/8526 [HC0[0]:SC0[0]:HE1:SE1] takes:\n (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n{in-reclaim-W} state was registered at:\n  [\u003cffffffff80267bdb\u003e] __lock_acquire+0x75b/0x1a60\n  [\u003cffffffff80268f71\u003e] lock_acquire+0x91/0xc0\n  [\u003cffffffff8070f0e1\u003e] mutex_lock_nested+0xb1/0x310\n  [\u003cffffffffa002002b\u003e] brd_init+0x2b/0x216 [brd]\n  [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n  [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n  [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n  [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\nirq event stamp: 3929\nhardirqs last  enabled at (3929): [\u003cffffffff8070f2b5\u003e] mutex_lock_nested+0x285/0x310\nhardirqs last disabled at (3928): [\u003cffffffff8070f089\u003e] mutex_lock_nested+0x59/0x310\nsoftirqs last  enabled at (3732): [\u003cffffffff8061f623\u003e] sk_filter+0x83/0xe0\nsoftirqs last disabled at (3730): [\u003cffffffff8061f5b6\u003e] sk_filter+0x16/0xe0\n\nother info that might help us debug this:\n1 lock held by modprobe/8526:\n #0:  (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n\nstack backtrace:\nPid: 8526, comm: modprobe Not tainted 2.6.28-rc6-00007-ged31348-dirty #26\nCall Trace:\n [\u003cffffffff80265483\u003e] print_usage_bug+0x193/0x1d0\n [\u003cffffffff80266530\u003e] mark_lock+0xaf0/0xca0\n [\u003cffffffff80266735\u003e] mark_held_locks+0x55/0xc0\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff802667ca\u003e] trace_reclaim_fs+0x2a/0x60\n [\u003cffffffff80285005\u003e] __alloc_pages_internal+0x475/0x580\n [\u003cffffffff8070f29e\u003e] ? mutex_lock_nested+0x26e/0x310\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffffa002006a\u003e] brd_init+0x6a/0x216 [brd]\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n [\u003cffffffff8070f8b9\u003e] ? mutex_unlock+0x9/0x10\n [\u003cffffffff8070f83d\u003e] ? __mutex_unlock_slowpath+0x10d/0x180\n [\u003cffffffff802669ec\u003e] ? trace_hardirqs_on_caller+0x12c/0x190\n [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7e78cff6b7518212247fb20b1dc6411540dc9af",
      "tree": "4152afb3e00df125303c4c603e01addc19059ac7",
      "parents": [
        "7317d7b87edb41a9135e30be1ec3f7ef817c53dd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 16 23:17:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 15:43:10 2008 +0200"
      },
      "message": "lockstat: contend with points\n\nWe currently only provide points that have to wait on contention, also\nlists the points we have to wait for.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6918bc5c830e890681eabb3c6cb6b8d117a52d14",
      "tree": "1e7eff6405d2e086fbf0db6a64d76bba21ea630a",
      "parents": [
        "9b9b181ce53ef387dfe3df9316bbc641fca13d51"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:41 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:19:37 2008 +0200"
      },
      "message": "lockstat: fixup signed division\n\nSome recent modification to this code made me notice the little todo mark.\nNow that we have more elaborate 64-bit division functions this isn\u0027t hard.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2189459d25a47401c69a17794c9d390c890351f9",
      "tree": "1e22875e4b4fd29e2af5e8078f5d82f814cc56fd",
      "parents": [
        "83097aca8567a0bd593534853b71fe0fa9a75d69"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Mon Aug 25 17:15:33 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 26 10:37:46 2008 +0200"
      },
      "message": "lockstat: fix numerical output rounding error\n\nFix rounding error in /proc/lock_stat numerical output.\n\nOn occasion the two digit fractional part contains the three\ndigit value \u0027100\u0027.  This is due to a bug in the rounding algorithm\nwhich pushes values in the range \u002795..99\u0027 to \u0027100\u0027 rather than\nto \u002700\u0027 + an increment to the integer part.  For example,\n\n\t- 123456.100      old display\n\t+ 123457.00\t  new display\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df60a8441866153d691ae69b77934904c2de5e0d",
      "tree": "3a893c0d5bf497408f6e670e38e6a480f7e8b035",
      "parents": [
        "2df8b1d656021e180ab93c8a4b2c9c2923d30b82"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Aug 15 09:33:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 19:22:04 2008 +0200"
      },
      "message": "lockdep: fix build if CONFIG_PROVE_LOCKING not defined\n\nIf CONFIG_PROVE_LOCKING not defined, then no dependency information\nis available.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0",
      "tree": "f90c216c26c0d73128a713d5142ccaefa2dce353",
      "parents": [
        "7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "message": "lockdep: handle chains involving classes defined in modules\n\nSolve this by marking the classes as unused and not printing information\nabout the unused classes.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nAcked-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "419ca3f13532793b81aff09f80c60af3eacbb43d",
      "tree": "eb2d82e52917ebccff269a51e90868ce229336b2",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:45:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:38:28 2008 +0200"
      },
      "message": "lockdep: fix combinatorial explosion in lock subgraph traversal\n\nWhen we traverse the graph, either forwards or backwards, we\nare interested in whether a certain property exists somewhere\nin a node reachable in the graph.\n\nTherefore it is never necessary to traverse through a node more\nthan once to get a correct answer to the given query.\n\nTake advantage of this property using a global ID counter so that we\nneed not clear all the markers in all the lock_class entries before\ndoing a traversal.  A new ID is choosen when we start to traverse, and\nwe continue through a lock_class only if it\u0027s ID hasn\u0027t been marked\nwith the new value yet.\n\nThis short-circuiting is essential especially for high CPU count\nsystems.  The scheduler has a runqueue per cpu, and needs to take\ntwo runqueue locks at a time, which leads to long chains of\nbackwards and forwards subgraphs from these runqueue lock nodes.\nWithout the short-circuit implemented here, a graph traversal on\na runqueue lock can take up to (1 \u003c\u003c (N - 1)) checks on a system\nwith N cpus.\n\nFor anything more than 16 cpus or so, lockdep will eventually bring\nthe machine to a complete standstill.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd1a28e8457e6ebf72c48d84d4e736307e86436e",
      "tree": "09371914495f7e3803016516ba887b593ea64a9b",
      "parents": [
        "443cd507ce7f78c6f8742b72736585c031d5a921"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Mon Jun 23 11:20:54 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 24 01:28:20 2008 +0200"
      },
      "message": "lockdep: add lock_class information to lock_chain and output it\n\nIt is based on x86/master branch of git-x86 tree, and has been tested\non x86_64 platform.\n\nChangeLog:\n\nv2:\n\n- Enclosing proc file system related code into CONFIG_PROVE_LOCKING.\n\n- Fix nr_chain_hlocks update code.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "443cd507ce7f78c6f8742b72736585c031d5a921",
      "tree": "256182911b08287661beca1f90455b14cd0b9151",
      "parents": [
        "2429e4ee78e2fa40f82a4572dd21d4f3b4de9325"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jun 20 16:39:21 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 12:21:33 2008 +0200"
      },
      "message": "lockdep: add lock_class information to lock_chain and output it\n\nThis patch records array of lock_class into lock_chain, and export\nlock_chain information via /proc/lockdep_chains.\n\nIt is based on x86/master branch of git-x86 tree, and has been tested\non x86_64 platform.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2429e4ee78e2fa40f82a4572dd21d4f3b4de9325",
      "tree": "da43b2f8a9449f8d2010a8e0f25d27fced692482",
      "parents": [
        "6ad36762d7a88d747f6fed95194b4f7ff5da8df4"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jun 13 14:40:17 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 13 08:55:01 2008 +0200"
      },
      "message": "lockdep: output lock_class key instead of address for forward dependency output\n\nThe key instead of address of lock_class should be output in\n/proc/lockdep when forward dependency is output, because key is\noutput for lock_class itself as identifier too.\n\nThis patch is based on x86/auto-latest branch of git-x86 tree, and has\nbeen tested on x86_64 platform.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c33fff0afbef4f0467c99e3f47ee7e98ae78c77e",
      "tree": "d6b5f8dc77aa21de95bbca76c6be6056026cc1d8",
      "parents": [
        "ac41cfd19bf77424519b962f8205ede51fceaac6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "kernel: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94c61c0aeffe64452e742087cf803d0347ef8418",
      "tree": "95d836151d8239bb0303d4903d31b4c5180aa40b",
      "parents": [
        "512e67f991c8886de75a65b854d7c19a55fb5b8a"
      ],
      "author": {
        "name": "Tim Pepper",
        "email": "lnxninja@linux.vnet.ibm.com",
        "time": "Thu Oct 11 22:11:11 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:11 2007 +0200"
      },
      "message": "lockdep: Avoid /proc/lockdep \u0026 lock_stat infinite output\nBoth /proc/lockdep and /proc/lock_stat output may loop infinitely.\n\nWhen a read() requests an amount of data smaller than the amount of data\nthat the seq_file\u0027s foo_show() outputs, the output starts looping and\noutputs the \"stuck\" element\u0027s data infinitely.  There may be multiple\nsequential calls to foo_start(), foo_next()/foo_show(), and foo_stop()\nfor a single open with sequential read of the file.  The _start() does not\nhave to start with the 0th element and _show() might be called multiple\ntimes in a row for the same element for a given open/read of the seq_file.\n\nAlso header output should not be happening in _start().  All output should\nbe in _show(), which SEQ_START_TOKEN is meant to help.  Having output in\n_start() may also negatively impact seq_file\u0027s seq_read() and traverse()\naccounting.\n\nSigned-off-by: Tim Pepper \u003clnxninja@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\n"
    },
    {
      "commit": "c0f3358621dc746219d49a9dee1799704d3a32f8",
      "tree": "664ca895c1eb5d25b3705f90c70eda51405fa7a5",
      "parents": [
        "5ea473a1dfeca2ee38c5dd458c1174d129e6b64e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Jul 31 00:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "Fix leak on /proc/lockdep_stats\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d38e1d5aaee384698fcef9455d6e2df1d062a1d0",
      "tree": "ba23e36611be644fa731e616f2f6c9d360491ad6",
      "parents": [
        "96645678cd726e87ce42a0664de71e047e32bca4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:49:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: better class name representation\n\noptionally add class-\u003ename_version and class-\u003esubclass to the class name\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96645678cd726e87ce42a0664de71e047e32bca4",
      "tree": "116f568a090414777b481e8e5d9db55f420e4335",
      "parents": [
        "443aef0eddfa44c158d1b94ebb431a70638fcab4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:49:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: measure lock bouncing\n\n    __acquire\n        |\n       lock _____\n        |        \\\n        |    __contended\n        |         |\n        |        wait\n        | _______/\n        |/\n        |\n   __acquired\n        |\n   __release\n        |\n     unlock\n\nWe measure acquisition and contention bouncing.\n\nThis is done by recording a cpu stamp in each lock instance.\n\nContention bouncing requires the cpu stamp to be set on acquisition. Hence we\nmove __acquired into the generic path.\n\n__acquired is then used to measure acquisition bouncing by comparing the\ncurrent cpu with the old stamp before replacing it.\n\n__contended is used to measure contention bouncing (only useful for preemptable\nlocks)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b32d0a4e9ec07808a5c406a416c6576c986b047",
      "tree": "9157e27e485723b6806fbab8926e9e5fcd5397e6",
      "parents": [
        "4fe87745a6722d42ff27a60768c77958fa1fc498"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: various fixes\n\n - update the copyright notices\n - use the default hash function\n - fix a thinko in a BUILD_BUG_ON\n - add a WARN_ON to spot inconsitent naming\n - fix a termination issue in /proc/lock_stat\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c46261de0d98372112d8edf16f74ce418a268d46",
      "tree": "b502a5872f3d4bd11254755defac0720ef072faf",
      "parents": [
        "f20786ff4da51e56b1956acf30be2552be266746"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: human readability tweaks\n\nPresent all this fancy new lock statistics information:\n\n*warning, _wide_ output ahead*\n\n(output edited for purpose of brevity)\n\n # cat /proc/lock_stat\nlock_stat version 0.1\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------\n                              class name    contentions   waittime-min   waittime-max waittime-total   acquisitions   holdtime-min   holdtime-max holdtime-total\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n                         \u0026inode-\u003ei_mutex:         14458           6.57      398832.75     2469412.23        6768876           0.34    11398383.65   339410830.89\n                         ---------------\n                         \u0026inode-\u003ei_mutex           4486          [\u003cffffffff802a08f9\u003e] pipe_wait+0x86/0x8d\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a01e8\u003e] pipe_write_fasync+0x29/0x5d\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a0e18\u003e] pipe_read+0x74/0x3a5\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a1a6a\u003e] do_lookup+0x81/0x1ae\n\n.................................................................................................................................................................\n\n              \u0026inode-\u003ei_data.tree_lock-W:           491           0.27          62.47         493.89        2477833           0.39         468.89     1146584.25\n              \u0026inode-\u003ei_data.tree_lock-R:            65           0.44           4.27          48.78       26288792           0.36         184.62    10197458.24\n              --------------------------\n                \u0026inode-\u003ei_data.tree_lock             46          [\u003cffffffff80277095\u003e] __do_page_cache_readahead+0x69/0x24f\n                \u0026inode-\u003ei_data.tree_lock             31          [\u003cffffffff8026f9fb\u003e] add_to_page_cache+0x31/0xba\n                \u0026inode-\u003ei_data.tree_lock              0          [\u003cffffffff802770ee\u003e] __do_page_cache_readahead+0xc2/0x24f\n                \u0026inode-\u003ei_data.tree_lock              0          [\u003cffffffff8026f6e4\u003e] find_get_page+0x1a/0x58\n\n.................................................................................................................................................................\n\n                      proc_inum_idr.lock:             0           0.00           0.00           0.00             36           0.00          65.60         148.26\n                        proc_subdir_lock:             0           0.00           0.00           0.00        3049859           0.00         106.81     1563212.42\n                        shrinker_rwsem-W:             0           0.00           0.00           0.00              5           0.00           1.73           3.68\n                        shrinker_rwsem-R:             0           0.00           0.00           0.00            633           2.57         246.57       10909.76\n\n\u0027contentions\u0027 and \u0027acquisitions\u0027 are the number of such events measured (since\nthe last reset). The waittime- and holdtime- (min, max, total) numbers are\npresented in microseconds.\n\nIf there are any contention points, the lock class is presented in the block\nformat (as i_mutex and tree_lock above), otherwise a single line of output is\npresented.\n\nThe output is sorted on absolute number of contentions (read + write), this\nshould get the worst offenders presented first, so that:\n\n # grep : /proc/lock_stat | head\n\nwill quickly show who\u0027s bad.\n\nThe stats can be reset using:\n\n # echo 0 \u003e /proc/lock_stat\n\n[bunk@stusta.de: make 2 functions static]\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e18257d29238311e82085152741f0c3aa18b74d",
      "tree": "4c3e43b3b001763b4280a4b6d754387a52fb4d73",
      "parents": [
        "ca58abcb4a6d52ee2db1b1130cea3ca2a76677b9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: reduce the ifdeffery\n\nMove code around to get fewer but larger #ifdef sections.  Break some\nin-function #ifdefs out into their own functions.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "501b9ebf43f9973c3e246c8fbd17144d81a989ef",
      "tree": "1c72f7b8059e6c74b54844a4362b7adfeaa8153c",
      "parents": [
        "8cddd7076ab440906dcf2831e37a147484af80fc"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] Fix apparent typo CONFIG_LOCKDEP_DEBUG\n\nReplace the apparent typo CONFIG_LOCKDEP_DEBUG with the correct\nCONFIG_DEBUG_LOCKDEP.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068135e63518314d4efd711142f674ad0841599e",
      "tree": "dbf8193b0e8f3b6c0e735b48c1f8201a6df207ac",
      "parents": [
        "381a229209aa6f7f72375797b7bcfcfe2ae6fcbb"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Sat Feb 10 01:44:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] lockdep: add graph depth information to /proc/lockdep\n\nGenerate locking graph information into /proc/lockdep, for lock hierarchy\ndocumentation and visualization purposes.\n\nsample output:\n\n c089fd5c OPS:     138 FD:   14 BD:    1 --..: \u0026tty-\u003etermios_mutex\n  -\u003e [c07a3430] tty_ldisc_lock\n  -\u003e [c07a37f0] \u0026port_lock_key\n  -\u003e [c07afdc0] \u0026rq-\u003erq_lock_key#2\n\nThe lock classes listed are all the first-hop lock dependencies that\nlockdep has seen so far.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15ad7cdcfd76450d4beebc789ec646664238184d",
      "tree": "279d05a76ae0906c23ee2de8c5684d95d9886ad3",
      "parents": [
        "4a08a9f68168e547c2baf100020e9b96cae5fbd1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Dec 06 20:40:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] struct seq_operations and struct file_operations constification\n\n - move some file_operations structs into the .rodata section\n\n - move static strings from policy_types[] array into the .rodata section\n\n - fix generic seq_operations usages, so that those structs may be defined\n   as \"const\" as well\n\n[akpm@osdl.org: couple of fixes]\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8f24a3978c5f82419e1c90dc90460731204f46f",
      "tree": "431cf447835463c04f6d982bade874e8b0eee767",
      "parents": [
        "f3e97da38e1d69d24195d76f96b912323f5ee30c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: procfs\n\nLock validator /proc/lockdep and /proc/lockdep_stats support.\n(FIXME: should go into debugfs)\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"
    }
  ]
}
