)]}'
{
  "log": [
    {
      "commit": "73d4da4d360136826b36f78f5cf72b29da82c8a6",
      "tree": "a60dbdf158a7d80598d1d18db981ad9edfc41bca",
      "parents": [
        "5cc6517abdeccb6690b344a43b5ce8eaee82da3c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Aug 16 10:50:54 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 20 09:00:15 2010 -0700"
      },
      "message": "rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n\nIt is illegal to wait for an SRCU grace period while within the\ncorresponding flavor of SRCU read-side critical section.  Therefore,\nthis commit updates the srcu_read_lock() docbook accordingly.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ca5ecddfa8fcbd948c95530e7e817cee9fb43a3d",
      "tree": "0ad1c320c2e6612a9a230a58d8588850701c048c",
      "parents": [
        "d34a16661ed0fed433c9469d7cfa3ca4d30ca42e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Apr 28 14:39:09 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Aug 19 17:17:59 2010 -0700"
      },
      "message": "rcu: define __rcu address space modifier for sparse\n\nThis commit provides definitions for the __rcu annotation defined earlier.\nThis annotation permits sparse to check for correct use of RCU-protected\npointers.  If a pointer that is annotated with __rcu is accessed\ndirectly (as opposed to via rcu_dereference(), rcu_assign_pointer(),\nor one of their variants), sparse can be made to complain.  To enable\nsuch complaints, use the new default-disabled CONFIG_SPARSE_RCU_POINTER\nkernel configuration option.  Please note that these sparse complaints are\nintended to be a debugging aid, -not- a code-style-enforcement mechanism.\n\nThere are special rcu_dereference_protected() and rcu_access_pointer()\naccessors for use when RCU read-side protection is not required, for\nexample, when no other CPU has access to the data structure in question\nor while the current CPU hold the update-side lock.\n\nThis patch also updates a number of docbook comments that were showing\ntheir age.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Christopher Li \u003csparse@chrisli.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d14aada8e20bdf81ffd43f433b123972cf575b32",
      "tree": "ac8a7682eee53213b47e659d7f5a74a6306f6fa7",
      "parents": [
        "f1d507beeab1d1d60a1c58eac7dc81522c6f4629"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 19 22:24:22 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: make SRCU usable in modules\n\nAdd a #include for mutex.h to allow SRCU to be more easily used in\nkernel modules.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d20200b591f59847ab6a5c23507084a7d29e23c5",
      "tree": "565d6f26eae873ab7c1b4ee406e5e767dabd24f0",
      "parents": [
        "5db356736acb9ba717df1aa9444e4e44cbb30a71"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Mar 30 10:52:21 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:32 2010 -0700"
      },
      "message": "rcu: Fix bogus CONFIG_PROVE_LOCKING in comments to reflect reality.\n\nIt is CONFIG_DEBUG_LOCK_ALLOC rather than CONFIG_PROVE_LOCKING, so fix it.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0a135ba14d71fb84c691a5386aff5049691fe6d7",
      "tree": "adb1de887dd6839d69d2fc16ffa2a10ff63298fa",
      "parents": [
        "4850f524b2c4c8a4e9f8ef4dd9c7c4afde2f2b2c",
        "a29d8b8e2d811a24bbe49215a0f0c536b72ebc18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: add __percpu sparse annotations to what\u0027s left\n  percpu: add __percpu sparse annotations to fs\n  percpu: add __percpu sparse annotations to core kernel subsystems\n  local_t: Remove leftover local.h\n  this_cpu: Remove pageset_notifier\n  this_cpu: Page allocator conversion\n  percpu, x86: Generic inc / dec percpu instructions\n  local_t: Move local.h include to ringbuffer.c and ring_buffer_benchmark.c\n  module: Use this_cpu_xx to dynamically allocate counters\n  local_t: Remove cpu_local_xx macros\n  percpu: refactor the code in pcpu_[de]populate_chunk()\n  percpu: remove compile warnings caused by __verify_pcpu_ptr()\n  percpu: make accessors check for percpu pointer in sparse\n  percpu: add __percpu for sparse.\n  percpu: make access macros universal\n  percpu: remove per_cpu__ prefix.\n"
    },
    {
      "commit": "c26d34a5858f96a564c45048bf5f09319d2abad1",
      "tree": "644941c0005b8ecda4f5af3fd9f9c385f911f146",
      "parents": [
        "632ee200130899252508c478ad0e808222573fbc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:46 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:00 2010 +0100"
      },
      "message": "rcu: Add lockdep-enabled variants of rcu_dereference()\n\nMake rcu_dereference() check for being in an RCU read-side\ncritical section, and create rcu_dereference_bh(),\nrcu_dereference_sched(), and srcu_dereference() to check for the\nother flavors of RCU.  Also create rcu_dereference_raw() to\navoid checking, and make rcu_dereference_check() use\nrcu_dereference_raw().\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-2-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "632ee200130899252508c478ad0e808222573fbc",
      "tree": "e3f44ca9daf2a2da2186419f703bc9cec8faa058",
      "parents": [
        "996de8c6fe95c5a9fc524241cc8f142ef0605d3d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:45 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:40:59 2010 +0100"
      },
      "message": "rcu: Introduce lockdep-based checking to RCU read-side primitives\n\nInspection is proving insufficient to catch all RCU misuses,\nwhich is understandable given that rcu_dereference() might be\nprotected by any of four different flavors of RCU (RCU, RCU-bh,\nRCU-sched, and SRCU), and might also/instead be protected by any\nof a number of locking primitives. It is therefore time to\nenlist the aid of lockdep.\n\nThis set of patches is inspired by earlier work by Peter\nZijlstra and Thomas Gleixner, and takes the following approach:\n\no\tSet up separate lockdep classes for RCU, RCU-bh, and RCU-sched.\n\no\tSet up separate lockdep classes for each instance of SRCU.\n\no\tCreate primitives that check for being in an RCU read-side\n\tcritical section.  These return exact answers if lockdep is\n\tfully enabled, but if unsure, report being in an RCU read-side\n\tcritical section.  (We want to avoid false positives!)\n\tThe primitives are:\n\n\tFor RCU: rcu_read_lock_held(void)\n\n\tFor RCU-bh: rcu_read_lock_bh_held(void)\n\n\tFor RCU-sched: rcu_read_lock_sched_held(void)\n\n\tFor SRCU: srcu_read_lock_held(struct srcu_struct *sp)\n\no\tAdd rcu_dereference_check(), which takes a second argument\n\tin which one places a boolean expression based on the above\n\tprimitives and/or lockdep_is_held().\n\no\tA new kernel configuration parameter, CONFIG_PROVE_RCU, enables\n\trcu_dereference_check().  This depends on CONFIG_PROVE_LOCKING,\n\tand should be quite helpful during the transition period while\n\tCONFIG_PROVE_RCU-unaware patches are in flight.\n\nThe existing rcu_dereference() primitive does no checking, but\nupcoming patches will change that.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43cf38eb5cea91245502df3fcee4dbfc1c74dd1c",
      "tree": "a58ea87af1f07b8aed4941db074f44103f321f6e",
      "parents": [
        "ab386128f20c44c458a90039ab1bdc265ac474c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:57 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 17 11:17:38 2010 +0900"
      },
      "message": "percpu: add __percpu sparse annotations to core kernel subsystems\n\nAdd __percpu sparse annotations to core subsystems.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: linux-mm@kvack.org\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "0cd397d33608ae6c97d2ee6c8c43462b419b7e26",
      "tree": "7c6ac61e7d8cc9cf410251024f1a6e515987b478",
      "parents": [
        "9b1d82fa1611706fa7ee1505f290160a18caf95d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 25 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 09:40:30 2009 +0100"
      },
      "message": "rcu: Add synchronize_srcu_expedited()\n\nThis patch creates a synchronize_srcu_expedited() that uses\nsynchronize_sched_expedited() where synchronize_srcu()\nuses synchronize_sched().  The synchronize_srcu() and\nsynchronize_srcu_expedited() functions become one-liners that\npass synchronize_sched() or synchronize_sched_expedited(),\nrepectively, to a new __synchronize_srcu() function.\n\nWhile in the file, move the EXPORT_SYMBOL_GPL()s to immediately\nfollow the corresponding functions.\n\nRequested-by: Avi Kivity \u003cavi@redhat.com\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: avi@redhat.com\nLKML-Reference: \u003c12565226354038-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6a92013ba458804161c0c5b6d134d82204dc233",
      "tree": "ecee5fdcef80d1dba0ac6ea87370931ea39ffecd",
      "parents": [
        "eabc069401bcf45bcc3f19e643017bf761780aa8"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] SRCU: report out-of-memory errors\n\nCurrently the init_srcu_struct() routine has no way to report out-of-memory\nerrors.  This patch (as761) makes it return -ENOMEM when the per-cpu data\nallocation fails.\n\nThe patch also makes srcu_init_notifier_head() report a BUG if a notifier\nhead can\u0027t be initialized.  Perhaps it should return -ENOMEM instead, but\nin the most likely cases where this might occur I don\u0027t think any recovery\nis possible.  Notifier chains generally are not created dynamically.\n\n[akpm@osdl.org: avoid statement-with-side-effect in macro]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eabc069401bcf45bcc3f19e643017bf761780aa8",
      "tree": "1175b8bed2d88cc9f437edbc239d7681f13b8a7d",
      "parents": [
        "b2896d2e75c87ea6a842c088db730b03c91db737"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] Add SRCU-based notifier chains\n\nThis patch (as751) adds a new type of notifier chain, based on the SRCU\n(Sleepable Read-Copy Update) primitives recently added to the kernel.  An\nSRCU notifier chain is much like a blocking notifier chain, in that it must\nbe called in process context and its callout routines are allowed to sleep.\n The difference is that the chain\u0027s links are protected by the SRCU\nmechanism rather than by an rw-semaphore, so calling the chain has\nextremely low overhead: no memory barriers and no cache-line bouncing.  On\nthe other hand, unregistering from the chain is expensive and the chain\nhead requires special runtime initialization (plus cleanup if it is to be\ndeallocated).\n\nSRCU notifiers are appropriate for notifiers that will be called very\nfrequently and for which unregistration occurs very seldom.  The proposed\n\"task notifier\" scheme qualifies, as may some of the network notifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "621934ee7ed5b073c7fd638b347e632c53572761",
      "tree": "5722f9cda22c099ad60545f963410dcbc762ee65",
      "parents": [
        "95d77884c77beed676036d2f74d10b470a483c63"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Wed Oct 04 02:17:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] srcu-3: RCU variant permitting read-side blocking\n\nUpdated patch adding a variant of RCU that permits sleeping in read-side\ncritical sections.  SRCU is as follows:\n\no\tEach use of SRCU creates its own srcu_struct, and each\n\tsrcu_struct has its own set of grace periods.  This is\n\tcritical, as it prevents one subsystem with a blocking\n\treader from holding up SRCU grace periods for other\n\tsubsystems.\n\no\tThe SRCU primitives (srcu_read_lock(), srcu_read_unlock(),\n\tand synchronize_srcu()) all take a pointer to a srcu_struct.\n\no\tThe SRCU primitives must be called from process context.\n\no\tsrcu_read_lock() returns an int that must be passed to\n\tthe matching srcu_read_unlock().  Realtime RCU avoids the\n\tneed for this by storing the state in the task struct,\n\tbut SRCU needs to allow a given code path to pass through\n\tmultiple SRCU domains -- storing state in the task struct\n\twould therefore require either arbitrary space in the\n\ttask struct or arbitrary limits on SRCU nesting.  So I\n\tkicked the state-storage problem up to the caller.\n\n\tOf course, it is not permitted to call synchronize_srcu()\n\twhile in an SRCU read-side critical section.\n\no\tThere is no call_srcu().  It would not be hard to implement\n\tone, but it seems like too easy a way to OOM the system.\n\t(Hey, we have enough trouble with call_rcu(), which does\n\t-not- permit readers to sleep!!!)  So, if you want it,\n\tplease tell me why...\n\n[josht@us.ibm.com: sparse notation]\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
