)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
