)]}'
{
  "log": [
    {
      "commit": "2d999e03b7c8305b4385dd20992e4ed3e827177b",
      "tree": "3402eeb03a6cc7ac8013974983f09e46f5ecd562",
      "parents": [
        "29494be71afe2a16ad04e344306a620d7cc22d06"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 20 12:06:18 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:59 2010 -0800"
      },
      "message": "rcu: update documentation/comments for Lai\u0027s adoption patch\n\nLai\u0027s RCU-callback immediate-adoption patch changes the RCU tracing\noutput, so update tracing.txt.  Also update a few comments to clarify\nthe synchronization design.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8e79e1f9615b83d1e1d26b328d1b776111ca0cf7",
      "tree": "9c201ebc3f18ed8aec432174edb86bd87d420770",
      "parents": [
        "9e571a82f0cb205a65a0ea41657f19f22b7fabb8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 04 14:31:19 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:56 2010 -0800"
      },
      "message": "rcu: document TINY_RCU and TINY_PREEMPT_RCU tracing.\n\nAdd the required verbiage to Documentation/RCU/trace.txt.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "269dcc1c2ec25864308ee03a3fa26ea819d9f5d0",
      "tree": "1c81ee6a9151ab1580628f6e9f85c469ceccb5c0",
      "parents": [
        "0ddea0ead2ced99eaaaddff2beb755381e5c89f8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Sep 07 14:23:09 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Sep 23 09:16:53 2010 -0700"
      },
      "message": "rcu: Add tracing data to support queueing models\n\nThe current tracing data is not sufficient to deduce the average time\nthat a callback spends waiting for a grace period to end.  Add three\nper-CPU counters recording the number of callbacks invoked (ci), the\nnumber of callbacks orphaned (co), and the number of callbacks adopted\n(ca).  Given the existing callback queue length (ql), the average wait\ntime in absence of CPU hotplug operations is ql/ci.  The units of wait\ntime will be in terms of the duration over which ci was measured.\n\nIn the presence of CPU hotplug operations, there is room for argument,\nbut ql/(ci-co+ca) won\u0027t steer you too far wrong.\n\nAlso fixes a typo called out by Lucas De Marchi \u003clucas.de.marchi@gmail.com\u003e.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2c96c7751d2bb822542b03ddfaca70933f5aaf02",
      "tree": "9bdb922d816db6bcfdc92e048167007af9006df0",
      "parents": [
        "a6b9b4d50f492630443b38404d1f436b3b748c14"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Aug 23 16:34:02 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Aug 23 16:34:02 2010 -0700"
      },
      "message": "rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n\nCPU-bound real-time processes can cause RCU CPU stall warnings, and\nmuch other trouble as well.  Document the fact that they can cause\nRCU CPU stall warnings.\n\nSuggested-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5cc6517abdeccb6690b344a43b5ce8eaee82da3c",
      "tree": "b18000bcdd57bc976a4658106395f86cf553c464",
      "parents": [
        "a3dc3fb161f9b4066c0fce22db72638af8baf83b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 13 16:34:22 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 20 09:00:14 2010 -0700"
      },
      "message": "rcu: document ways of stalling updates in low-memory situations\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "84483ea42cd4f2781d6e97a83ab3ebd0ff19fb10",
      "tree": "c79e79331ab451218aac8c99b74797291beaf841",
      "parents": [
        "4b6a2872a2a00042ee50024822ab706e5456aad8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 16 16:48:13 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Aug 19 17:18:01 2010 -0700"
      },
      "message": "rcu: add shiny new debug assists to Documentation/RCU/checklist.txt\n\nAdd a section describing PROVE_RCU, DEBUG_OBJECTS_RCU_HEAD, and\nthe __rcu sparse checking to the RCU checklist.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0ea6e61122196509af82cc4f36cbdaacbefb8227",
      "tree": "1e6e65d3b73c9c620497966b1786f163a1782228",
      "parents": [
        "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Fri Jul 23 20:51:24 2010 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:21:40 2010 +0200"
      },
      "message": "Documentation: update broken web addresses.\n\nBelow you will find an updated version from the original series bunching all patches into one big patch\nupdating broken web addresses that are located in Documentation/*\nSome of the addresses date as far far back as 1995 etc... so searching became a bit difficult,\nthe best way to deal with these is to use web.archive.org to locate these addresses that are outdated.\nNow there are also some addresses pointing to .spec files some are located, but some(after searching\non the companies site)where still no where to be found. In this case I just changed the address\nto the company site this way the users can contact the company and they can locate them for the users.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Thomas Weber \u003cweber@corscience.de\u003e\nSigned-off-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nCc: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "f1d507beeab1d1d60a1c58eac7dc81522c6f4629",
      "tree": "aefa7266289ebc492efd11fee2d154390df12b6a",
      "parents": [
        "d21670acab9fcb4bc74a40b68a6941059234c55c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 15 15:49:46 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: improve the RCU CPU-stall warning documentation\n\nThe existing Documentation/RCU/stallwarn.txt has proven unhelpful, so\nrework it a bit.  In particular, show how to interpret the stall-warning\nmessages.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d21670acab9fcb4bc74a40b68a6941059234c55c",
      "tree": "6a4c054bc4dbadf0524b4e221889a8da558dbdaf",
      "parents": [
        "4a90a0681cf6cd21cd444184302aa045156486b3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Apr 14 17:39:26 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: reduce the number of spurious RCU_SOFTIRQ invocations\n\nLai Jiangshan noted that up to 10% of the RCU_SOFTIRQ are spurious, and\ntraced this down to the fact that the current grace-period machinery\nwill uselessly raise RCU_SOFTIRQ when a given CPU needs to go through\na quiescent state, but has not yet done so.  In this situation, there\nmight well be nothing that RCU_SOFTIRQ can do, and the overhead can be\nworth worrying about in the ksoftirqd case.  This patch therefore avoids\nraising RCU_SOFTIRQ in this situation.\n\nChanges since v1 (http://lkml.org/lkml/2010/3/30/122 from Lai Jiangshan):\n\no\tOmit the rcu_qs_pending() prechecks, as they aren\u0027t that\n\tmuch less expensive than the quiescent-state checks.\n\no\tMerge with the set_need_resched() patch that reduces IPIs.\n\no\tAdd the new n_rp_report_qs field to the rcu_pending tracing output.\n\no\tUpdate the tracing documentation accordingly.\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": "e7858f52a5cb868289a72264534a1f05f3340c6c",
      "tree": "aa7308603cf30d8aec6e45ecaddc6c8ed29d2edb",
      "parents": [
        "27a9da6538ee18046d7bff8e36a9f783542c54c3",
        "bbf1bb3eee86f2eef2baa14e600be454d09109ee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:11:19 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:11:19 2010 +0200"
      },
      "message": "Merge branch \u0027cpu_stop\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into sched/core\n"
    },
    {
      "commit": "969c79215a35b06e5e3efe69b9412f858df7856c",
      "tree": "4256378687c8bc2011ec35a3e28bc3b6473e912c",
      "parents": [
        "3fc1f1e27a5b807791d72e5d992aa33b668a6626"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "message": "sched: replace migration_thread with cpu_stop\n\nCurrently migration_thread is serving three purposes - migration\npusher, context to execute active_load_balance() and forced context\nswitcher for expedited RCU synchronize_sched.  All three roles are\nhardcoded into migration_thread() and determining which job is\nscheduled is slightly messy.\n\nThis patch kills migration_thread and replaces all three uses with\ncpu_stop.  The three different roles of migration_thread() are\nsplitted into three separate cpu_stop callbacks -\nmigration_cpu_stop(), active_load_balance_cpu_stop() and\nsynchronize_sched_expedited_cpu_stop() - and each use case now simply\nasks cpu_stop to execute the callback as necessary.\n\nsynchronize_sched_expedited() was implemented with private\npreallocated resources and custom multi-cpu queueing and waiting\nlogic, both of which are provided by cpu_stop.\nsynchronize_sched_expedited_count is made atomic and all other shared\nresources along with the mutex are dropped.\n\nsynchronize_sched_expedited() also implemented a check to detect cases\nwhere not all the callback got executed on their assigned cpus and\nfall back to synchronize_sched().  If called with cpu hotplug blocked,\ncpu_stop already guarantees that and the condition cannot happen;\notherwise, stop_machine() would break.  However, this patch preserves\nthe paranoid check using a cpumask to record on which cpus the stopper\nran so that it can serve as a bisection point if something actually\ngoes wrong theree.\n\nBecause the internal execution state is no longer visible,\nrcu_expedited_torture_stats() is removed.\n\nThis patch also renames cpu_stop threads to from \"stopper/%d\" to\n\"migration/%d\".  The names of these threads ultimately don\u0027t matter\nand there\u0027s no reason to make unnecessary userland visible changes.\n\nWith this patch applied, stop_machine() and sched now share the same\nresources.  stop_machine() is faster without wasting any resources and\nsched migration users are much cleaner.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "50aec0024eccb1d5f540ab64a1958eebcdb9340c",
      "tree": "82527de1628c348349361bf8350ea37d04fc31d5",
      "parents": [
        "c08c68dd76bd6b776bc0eb45a5e8f354ed772cdf"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 09 15:39:12 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:20:12 2010 +0200"
      },
      "message": "rcu: Update docs for rcu_access_pointer and rcu_dereference_protected\n\nUpdate examples and lists of APIs to include these new\nprimitives.\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\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1270852752-25278-3-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1bd22e374b20c2f0ba1d2723c1f585acab2251c5",
      "tree": "691e72a5fd4f76bf63dcc65c52a0839dde1ef49f",
      "parents": [
        "8bd93a2c5d4cab2ae17d06350daa7dbf546a4634"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:05:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:56 2010 +0100"
      },
      "message": "rcu: Use canonical URL for Mathieu\u0027s dissertation\n\nThe version numbers change too quickly, so use a canonical URL\nthat represents the most recent version.\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-16-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "998f2ac3fea93bfa8b55c279fff68f7c5b9ab93d",
      "tree": "8b9d006da4408e93b9b7af6d07b08c3b027ff675",
      "parents": [
        "c598a070bc581aea8a518b460dae8c0cf8e74344"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:58 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:54 2010 +0100"
      },
      "message": "rcu: Fix citation of Mathieu\u0027s dissertation\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-14-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c598a070bc581aea8a518b460dae8c0cf8e74344",
      "tree": "a74f0323a7432ff836901ca301ca11870d73f940",
      "parents": [
        "e7b0a61b7929632d36cf052d9e2820ef0a9c1bfe"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:57 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:53 2010 +0100"
      },
      "message": "rcu: Documentation update for CONFIG_PROVE_RCU\n\nAdds a lockdep.txt file and updates checklist.txt and\nwhatisRCU.txt to reflect the new lockdep-enabled capabilities of\nRCU.\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-13-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4c54005ca438a8b46dd542b497d4f0dc2ca375e8",
      "tree": "4274fb9dcbd94480b93fecefcf83969db53461ba",
      "parents": [
        "b6407e863934965cdc66cbc244d811ceeb6f4d77"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jan 14 16:10:57 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 16 10:25:22 2010 +0100"
      },
      "message": "rcu: 1Q2010 update for RCU documentation\n\nAdd expedited functions.  Review documentation and update\nobsolete verbiage.  Also fix the advice for the RCU CPU-stall\nkernel configuration parameter, and document RCU CPU-stall\nwarnings.\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: \u003c12635142581866-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64179861cb801eac4f00c79f39a29ea5ac9470d7",
      "tree": "e5f4e4239738ceb1918da096adaf6bd6716d0fd1",
      "parents": [
        "804bb8370522a569bd3a732b9de5fbd55e26f155"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 25 19:03:53 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 09:40:31 2009 +0100"
      },
      "message": "rcu: Add synchronize_srcu_expedited() to the documentation\n\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\nCc: mtosatti@redhat.com\nLKML-Reference: \u003c12565226354176-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0edf1a683e499191b27a067956ae9f5fa6e046c6",
      "tree": "434ed3a22b2a64296d3d9e7e233e597f0edf18f2",
      "parents": [
        "bd58b430039435e4c981cf802b5b11d511d73abd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 14 10:15:59 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:20:23 2009 +0200"
      },
      "message": "rcu: Update trace.txt documentation for blocked-tasks lists\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\nCc: npiggin@suse.de\nCc: jens.axboe@oracle.com\nLKML-Reference: \u003c12555405592804-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd58b430039435e4c981cf802b5b11d511d73abd",
      "tree": "d968166358bccb5cb4df619566a525b4ff519993",
      "parents": [
        "3397e040dfacbb303498ced1baa96be983dcea06"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 14 10:15:54 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:20:23 2009 +0200"
      },
      "message": "rcu: Update trace.txt documentation to reflect recent changes\n\no\tRemove the CONFIG_PREEMPT_RCU documentation since this\n\tconfig option has now been removed.\n\no\tChange the now-incorrect references to \"rcu\" labels to\n\tinstead be \"rcu_sched\".\n\no\tAdd notes stating that CONFIG_TREE_PREEMPT_RCU kernels will\n\thave additional \"rcu_preempt\" output.\n\no\tNote the new \"oqlen\" field in the rcuhier output (for\n\tRCU callbacks orphaned by an offlined CPU).\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\nCc: npiggin@suse.de\nCc: jens.axboe@oracle.com\nLKML-Reference: \u003c1255540559799-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b3ef48adf847f7adf11c870e3ffacac150f1564",
      "tree": "e1403ce515bf00ade99ec806f6ab6b6db999aa0b",
      "parents": [
        "f41d911f8c49a5d65c86504c19e8204bb605c4fd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 22 13:56:53 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 23 10:32:40 2009 +0200"
      },
      "message": "rcu: Remove CONFIG_PREEMPT_RCU\n\nNow that CONFIG_TREE_PREEMPT_RCU is in place, there is no\nfurther need for CONFIG_PREEMPT_RCU.  Remove it, along with\nwhatever subtle bugs it may (or may not) contain.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josht@linux.vnet.ibm.com\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c125097461396-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6714c22b43fbcbead7e7b706ff270e15f04a791",
      "tree": "1dc15e57d982351bed45b7b9768a118f86b88c19",
      "parents": [
        "9f77da9f40045253e91f55c12d4481254b513d2d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 22 13:56:46 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 23 10:32:37 2009 +0200"
      },
      "message": "rcu: Renamings to increase RCU clarity\n\nMake RCU-sched, RCU-bh, and RCU-preempt be underlying\nimplementations, with \"RCU\" defined in terms of one of the\nthree.  Update the outdated rcu_qsctr_inc() names, as these\nfunctions no longer increment anything.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josht@linux.vnet.ibm.com\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c12509746132696-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa08661af834875c9bd6f7f0b1b9388dc72a6585",
      "tree": "c381fcfcfeb38515bfa93445c80ad9231343414d",
      "parents": [
        "240ebbf81f149b11a31e060ebe5ee51a3c775360",
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 15 18:55:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 15 18:56:13 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc6\u0027 into core/rcu\n\nMerge reason: the branch was on pre-rc1 .30, update to latest.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "941297f443f871b8c3372feccf27a8733f6ce9e9",
      "tree": "c98b7e30bf14255cfd87a3d8d929f26f35764d21",
      "parents": [
        "aa6a03eb0ae859c1371555ef381de4c96ca1e4e6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 16 14:03:40 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jul 16 14:03:40 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: nf_conntrack_alloc() fixes\n\nWhen a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating\nobjects, since slab allocator could give a freed object still used by lockless\nreaders.\n\nIn particular, nf_conntrack RCU lookups rely on ct-\u003etuplehash[xxx].hnnode.next\nbeing always valid (ie containing a valid \u0027nulls\u0027 value, or a valid pointer to next\nobject in hash chain.)\n\nkmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid\nfor ct-\u003etuplehash[xxx].hnnode.next.\n\nFix is to call kmem_cache_alloc() and do the zeroing ourself.\n\nAs spotted by Patrick, we also need to make sure lookup keys are committed to\nmemory before setting refcount to 1, or a lockless reader could get a reference\non the old version of the object. Its key re-check could then pass the barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "240ebbf81f149b11a31e060ebe5ee51a3c775360",
      "tree": "d8aa6601bd789991588e467bf734d40df36e1317",
      "parents": [
        "0acc512cb1a29636df5e982c7d845edafe77c2d0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jun 25 09:08:18 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 10:02:29 2009 +0200"
      },
      "message": "rcu: Add synchronize_sched_expedited() rcutorture doc + updates\n\nThis patch updates the rcutorture documentation to include\nupdated output format.  It also brings the RCU documentation up\nto date.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: akpm@linux-foundation.org\nCc: torvalds@linux-foundation.org\nCc: davem@davemloft.net\nCc: dada1@cosmosbay.com\nCc: zbr@ioremap.net\nCc: jeff.chua.linux@gmail.com\nCc: paulus@samba.org\nCc: laijs@cn.fujitsu.com\nCc: jengelh@medozas.de\nCc: r000n@r000n.net\nCc: benh@kernel.crashing.org\nCc: mathieu.desnoyers@polymtl.ca\nLKML-Reference: \u003c12459460983193-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19f594600110377ec4037fdf7fb93a25ec516212",
      "tree": "bf88707b65f0138b754d896300976e474098a50d",
      "parents": [
        "19af5cdb7c79ff5ec96a99893ffb7f894f4a3dc1"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Mon Apr 27 15:06:31 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:47 2009 +0200"
      },
      "message": "trivial: Miscellaneous documentation typo fixes\n\nFix various typos in documentation txts.\n\nSigned-off-by: Matt LaPlante \u003ckernel1@cyberdogtech.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "6fd9b3a40b82081d9e6490b0d7cd656e9a78a134",
      "tree": "c40cc0878a4777ca9bc8d02d4f762e42e577ed34",
      "parents": [
        "7ba5c840e64d4a967379f1ae3eca73278180b11d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 13 21:31:18 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 14 11:33:43 2009 +0200"
      },
      "message": "rcu: Update RCU tracing documentation for __rcu_pending\n\nThis patch updates the RCU documentation to reflect the changes in\ntracing made in the previous patch in the set.\n\nLocated-by: Anton Blanchard \u003canton@au1.ibm.com\u003e\nTested-by: Anton Blanchard \u003canton@au1.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: anton@samba.org\nCc: akpm@linux-foundation.org\nCc: dipankar@in.ibm.com\nCc: manfred@colorfullife.com\nCc: cl@linux-foundation.org\nCc: josht@linux.vnet.ibm.com\nCc: schamp@sgi.com\nCc: niv@us.ibm.com\nCc: dvhltc@us.ibm.com\nCc: ego@in.ibm.com\nCc: laijs@cn.fujitsu.com\nCc: rostedt@goodmis.org\nCc: peterz@infradead.org\nCc: penberg@cs.helsinki.fi\nCc: andi@firstfloor.org\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c12396834792865-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edd4070f5d943b35e3e1a2e5e95e4a2eebb11d53",
      "tree": "c945fbb71586a458611fce5c2ac10097e557a4d7",
      "parents": [
        "3943ac5d99ec024f97442e5f3def1034bb0b1bb0"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Tue Mar 31 09:36:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 02 01:33:51 2009 -0700"
      },
      "message": "Doc: Fix spelling in RCU/rculist_nulls.txt.\n\nDoc: Fix spelling in RCU/rculist_nulls.txt.\n\nTrival spelling fixes in RCU/rculist_nulls.txt.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nTested-by: Jarek Poplawski \u003cjarkao2@gmail.com;-\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3943ac5d99ec024f97442e5f3def1034bb0b1bb0",
      "tree": "d3167de5bbe5d566f58f951381f2cbcde28cde90",
      "parents": [
        "9ba30d74446dd0629d797ecd038379725d351bc6"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Sun Mar 29 23:03:01 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 02 01:33:50 2009 -0700"
      },
      "message": "Doc: Fix wrong API example usage of call_rcu().\n\nAt some point the API of call_rcu() changed from three parameters\nto two parameters, correct the documentation.\n\nOne confusing thing in RCU/listRCU.txt, which is NOT fixed in this patch,\nis that no reason or explaination is given for using call_rcu() instead of\nthe normal synchronize_rcu() call.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ba30d74446dd0629d797ecd038379725d351bc6",
      "tree": "9164955780ed732fe9e426f73df10550fedefe8c",
      "parents": [
        "833bb3046b6cb320e775ea2160ddca87d53260d5"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Sun Mar 29 23:02:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 02 01:33:50 2009 -0700"
      },
      "message": "Doc: Fix missing whitespaces in RCU documentation.\n\nTrivial fix while reading through the RCU docs.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0612ea00a010e36fde61e7b7649a1105b0ef1080",
      "tree": "3e543336430dafbd67237075954f9ce0ccab2e65",
      "parents": [
        "be50b8342dead8cacf57d4839240106b225d31f5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Mar 10 12:55:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 10 15:55:11 2009 -0700"
      },
      "message": "rcu: documentation 1Q09 update\n\nUpdate the RCU documentation to call out the need for callers of\nprimitives like call_rcu() and synchronize_rcu() to prevent subsequent RCU\nreaders from hazard.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.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": "1df2d017fe9d22a49bad157b4f5aa19212f29557",
      "tree": "8907fd08c5c367067768e79b3d98af2772cfa680",
      "parents": [
        "022992ee59e90fef719493c09988884be157fb73",
        "d5b524327b2a482dddae3839ced8f8825074730d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 15:52:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 15:52:13 2009 -0800"
      },
      "message": "Merge branch \u0027docs-next\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027docs-next\u0027 of git://git.lwn.net/linux-2.6:\n  Fix a typo in the development process document.\n  Document handling of bad memory\n  Document RCU and unloadable modules\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "64db4cfff99c04cd5f550357edcc8780f96b54a2",
      "tree": "4856e788d21f0e31ed78a22b70b4521f7237705e",
      "parents": [
        "d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Dec 18 21:55:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:56:04 2008 +0100"
      },
      "message": "\"Tree RCU\": scalable classic RCU implementation\n\nThis patch fixes a long-standing performance bug in classic RCU that\nresults in massive internal-to-RCU lock contention on systems with\nmore than a few hundred CPUs.  Although this patch creates a separate\nflavor of RCU for ease of review and patch maintenance, it is intended\nto replace classic RCU.\n\nThis patch still handles stress better than does mainline, so I am still\ncalling it ready for inclusion.  This patch is against the -tip tree.\nNevertheless, experience on an actual 1000+ CPU machine would still be\nmost welcome.\n\nMost of the changes noted below were found while creating an rcutiny\n(which should permit ejecting the current rcuclassic) and while doing\ndetailed line-by-line documentation.\n\nUpdates from v9 (http://lkml.org/lkml/2008/12/2/334):\n\no\tFixes from remainder of line-by-line code walkthrough,\n\tincluding comment spelling, initialization, undesirable\n\tnarrowing due to type conversion, removing redundant memory\n\tbarriers, removing redundant local-variable initialization,\n\tand removing redundant local variables.\n\n\tI do not believe that any of these fixes address the CPU-hotplug\n\tissues that Andi Kleen was seeing, but please do give it a whirl\n\tin case the machine is smarter than I am.\n\n\tA writeup from the walkthrough may be found at the following\n\tURL, in case you are suffering from terminal insomnia or\n\tmasochism:\n\n\thttp://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf\n\no\tMade rcutree tracing use seq_file, as suggested some time\n\tago by Lai Jiangshan.\n\no\tAdded a .csv variant of the rcudata debugfs trace file, to allow\n\tpeople having thousands of CPUs to drop the data into\n\ta spreadsheet.\tTested with oocalc and gnumeric.  Updated\n\tdocumentation to suit.\n\nUpdates from v8 (http://lkml.org/lkml/2008/11/15/139):\n\no\tFix a theoretical race between grace-period initialization and\n\tforce_quiescent_state() that could occur if more than three\n\tjiffies were required to carry out the grace-period\n\tinitialization.  Which it might, if you had enough CPUs.\n\no\tApply Ingo\u0027s printk-standardization patch.\n\no\tSubstitute local variables for repeated accesses to global\n\tvariables.\n\no\tFix comment misspellings and redundant (but harmless) increments\n\tof -\u003en_rcu_pending (this latter after having explicitly added it).\n\no\tApply checkpatch fixes.\n\nUpdates from v7 (http://lkml.org/lkml/2008/10/10/291):\n\no\tFixed a number of problems noted by Gautham Shenoy, including\n\tthe cpu-stall-detection bug that he was having difficulty\n\tconvincing me was real.  ;-)\n\no\tChanged cpu-stall detection to wait for ten seconds rather than\n\tthree in order to reduce false positive, as suggested by Ingo\n\tMolnar.\n\no\tProduced a design document (http://lwn.net/Articles/305782/).\n\tThe act of writing this document uncovered a number of both\n\ttheoretical and \"here and now\" bugs as noted below.\n\no\tFix dynticks_nesting accounting confusion, simplify WARN_ON()\n\tcondition, fix kerneldoc comments, and add memory barriers\n\tin dynticks interface functions.\n\no\tAdd more data to tracing.\n\no\tRemove unused \"rcu_barrier\" field from rcu_data structure.\n\no\tCount calls to rcu_pending() from scheduling-clock interrupt\n\tto use as a surrogate timebase should jiffies stop counting.\n\no\tFix a theoretical race between force_quiescent_state() and\n\tgrace-period initialization.  Yes, initialization does have to\n\tgo on for some jiffies for this race to occur, but given enough\n\tCPUs...\n\nUpdates from v6 (http://lkml.org/lkml/2008/9/23/448):\n\no\tFix a number of checkpatch.pl complaints.\n\no\tApply review comments from Ingo Molnar and Lai Jiangshan\n\ton the stall-detection code.\n\no\tFix several bugs in !CONFIG_SMP builds.\n\no\tFix a misspelled config-parameter name so that RCU now announces\n\tat boot time if stall detection is configured.\n\no\tRun tests on numerous combinations of configurations parameters,\n\twhich after the fixes above, now build and run correctly.\n\nUpdates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line):\n\no\tFix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a\n\tchangeset some time ago, and finally got around to retesting\n\tthis option).\n\no\tFix some tracing bugs in rcupreempt that caused incorrect\n\ttotals to be printed.\n\no\tI now test with a more brutal random-selection online/offline\n\tscript (attached).  Probably more brutal than it needs to be\n\ton the people reading it as well, but so it goes.\n\no\tA number of optimizations and usability improvements:\n\n\to\tMake rcu_pending() ignore the grace-period timeout when\n\t\tthere is no grace period in progress.\n\n\to\tMake force_quiescent_state() avoid going for a global\n\t\tlock in the case where there is no grace period in\n\t\tprogress.\n\n\to\tRearrange struct fields to improve struct layout.\n\n\to\tMake call_rcu() initiate a grace period if RCU was\n\t\tidle, rather than waiting for the next scheduling\n\t\tclock interrupt.\n\n\to\tInvoke rcu_irq_enter() and rcu_irq_exit() only when\n\t\tidle, as suggested by Andi Kleen.  I still don\u0027t\n\t\tcompletely trust this change, and might back it out.\n\n\to\tMake CONFIG_RCU_TRACE be the single config variable\n\t\tmanipulated for all forms of RCU, instead of the prior\n\t\tconfusion.\n\n\to\tDocument tracing files and formats for both rcupreempt\n\t\tand rcutree.\n\nUpdates from v4 for those missing v5 given its bad subject line:\n\no\tSeparated dynticks interface so that NMIs and irqs call separate\n\tfunctions, greatly simplifying it.  In particular, this code\n\tno longer requires a proof of correctness.  ;-)\n\no\tSeparated dynticks state out into its own per-CPU structure,\n\tavoiding the duplicated accounting.\n\no\tThe case where a dynticks-idle CPU runs an irq handler that\n\tinvokes call_rcu() is now correctly handled, forcing that CPU\n\tout of dynticks-idle mode.\n\no\tReview comments have been applied (thank you all!!!).\n\tFor but one example, fixed the dynticks-ordering issue that\n\tManfred pointed out, saving me much debugging.  ;-)\n\no\tAdjusted rcuclassic and rcupreempt to handle dynticks changes.\n\nAttached is an updated patch to Classic RCU that applies a hierarchy,\ngreatly reducing the contention on the top-level lock for large machines.\nThis passes 10-hour concurrent rcutorture and online-offline testing on\n128-CPU ppc64 without dynticks enabled, and exposes some timekeeping\nbugs in presence of dynticks (exciting working on a system where\n\"sleep 1\" hangs until interrupted...), which were fixed in the\n2.6.27 kernel.  It is getting more reliable than mainline by some\nmeasures, so the next version will be against -tip for inclusion.\nSee also Manfred Spraul\u0027s recent patches (or his earlier work from\n2004 at http://marc.info/?l\u003dlinux-kernel\u0026m\u003d108546384711797\u0026w\u003d2).\nWe will converge onto a common patch in the fullness of time, but are\ncurrently exploring different regions of the design space.  That said,\nI have already gratefully stolen quite a few of Manfred\u0027s ideas.\n\nThis patch provides CONFIG_RCU_FANOUT, which controls the bushiness\nof the RCU hierarchy.  Defaults to 32 on 32-bit machines and 64 on\n64-bit machines.  If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT,\nthere is no hierarchy.  By default, the RCU initialization code will\nadjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA\narchitectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable\nthis balancing, allowing the hierarchy to be exactly aligned to the\nunderlying hardware.  Up to two levels of hierarchy are permitted\n(in addition to the root node), allowing up to 16,384 CPUs on 32-bit\nsystems and up to 262,144 CPUs on 64-bit systems.  I just know that I\nam going to regret saying this, but this seems more than sufficient\nfor the foreseeable future.  (Some architectures might wish to set\nCONFIG_RCU_FANOUT\u003d4, which would limit such architectures to 64 CPUs.\nIf this becomes a real problem, additional levels can be added, but I\ndoubt that it will make a significant difference on real hardware.)\n\nIn the common case, a given CPU will manipulate its private rcu_data\nstructure and the rcu_node structure that it shares with its immediate\nneighbors.  This can reduce both lock and memory contention by multiple\norders of magnitude, which should eliminate the need for the strange\nmanipulations that are reported to be required when running Linux on\nvery large systems.\n\nSome shortcomings:\n\no\tMore bugs will probably surface as a result of an ongoing\n\tline-by-line code inspection.\n\n\tPatches will be provided as required.\n\no\tThere are probably hangs, rcutorture failures, \u0026c.  Seems\n\tquite stable on a 128-CPU machine, but that is kind of small\n\tcompared to 4096 CPUs.  However, seems to do better than\n\tmainline.\n\n\tPatches will be provided as required.\n\no\tThe memory footprint of this version is several KB larger\n\tthan rcuclassic.\n\n\tA separate UP-only rcutiny patch will be provided, which will\n\treduce the memory footprint significantly, even compared\n\tto the old rcuclassic.  One such patch passes light testing,\n\tand has a memory footprint smaller even than rcuclassic.\n\tInitial reaction from various embedded guys was \"it is not\n\tworth it\", so am putting it aside.\n\nCredits:\n\no\tManfred Spraul for ideas, review comments, and bugs spotted,\n\tas well as some good friendly competition.  ;-)\n\no\tJosh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers,\n\tLai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton\n\tfor reviews and comments.\n\no\tThomas Gleixner for much-needed help with some timer issues\n\t(see patches below).\n\no\tJon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos,\n\tAndy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton\n\tBlanchard, Dave Kleikamp, and Nathan Lynch for keeping machines\n\talive despite my heavy abuse^Wtesting.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c12757c56b4c9ab5aab1f6c1248ae4ea8af3a01",
      "tree": "1a501e8c8bea09ce85a080af6c28da42d021fd80",
      "parents": [
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Nov 13 18:11:52 2008 -0800"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Dec 03 15:58:01 2008 -0700"
      },
      "message": "Document RCU and unloadable modules\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "536533e69e3e4a9f0174509813f8df28970d6ebe",
      "tree": "d605be0473a2e0f7581c88fe85b89e64c2d4667a",
      "parents": [
        "3ab5aee7fe840b5b1b35a8d1ac11c3de5281e611"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:41:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:41:14 2008 -0800"
      },
      "message": "rcu: documents rculist_nulls\n\nAdds Documentation/RCU/rculist_nulls.txt file to describe how \u0027nulls\u0027\nend-of-list can help in some RCU algos.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8aed68614c81f24d8c4cbcb4923f848ece846e1",
      "tree": "0fc0af1ec0e5604011e148f64d77fce273aca2df",
      "parents": [
        "429b022af41108f6942d72547592b1d30e9a51f0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Sep 10 11:01:07 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 08:36:07 2008 +0200"
      },
      "message": "doc/RCU: fix pseudocode in rcuref.txt\n\natomic_inc_not_zero(v) return 0 if *v \u003d 0.\nuse spin_lock instead of write_lock for update lock.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34d7c2b38d124219b7034356716e3455c439acd3",
      "tree": "7e3a91439a288ae15c3baac5ad17710931d08324",
      "parents": [
        "ff9cf2ce7afe76435d66c898cc9dacaa68e79d41"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 01 14:11:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 17:03:06 2008 +0200"
      },
      "message": "rcu: remove list_for_each_rcu()\n\nAll of the in-tree uses of list_for_each_rcu() have been converted to\nlist_for_each_entry_rcu(), so list_for_each_rcu() can now be removed.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0729fbf3bc70870370b4f43d652f05a468dc68b8",
      "tree": "92557b04b368fac084f59d8397c32c5461ac26fd",
      "parents": [
        "9a13150109fb418c50fa400c012f90d0ce6f67c3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 25 12:24:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 26 09:24:33 2008 +0200"
      },
      "message": "rcu: make rcutorture even more vicious: invoke RCU readers from irq handlers (timers)\n\nThis patch allows torturing RCU from irq handlers (timers, in this case).\nA new module parameter irqreader enables such additional torturing,\nand is enabled by default.  Variants of RCU that do not tolerate readers\nbeing called from irq handlers (e.g., SRCU) ignore irqreader.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: josh@freedesktop.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: dino@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: torvalds@linux-foundation.org\nCc: vegard.nossum@gmail.com\nCc: adobriyan@gmail.com\nCc: oleg@tv-sign.ru\nCc: bunk@kernel.org\nCc: rjw@sisk.pl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31a72bce0bd6f3e0114009288bccbc96376eeeca",
      "tree": "14a817fbe0b47511d3119360c47959d48f851140",
      "parents": [
        "d120f65f3aaf306c957bc4c82e510f5b0f1e9b27"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 18 09:26:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 11:22:15 2008 +0200"
      },
      "message": "rcu: make rcutorture more vicious: reinstate boot-time testing\n\nThis patch re-institutes the ability to build rcutorture directly into\nthe Linux kernel.  The reason that this capability was removed was that\nthis could result in your kernel being pretty much useless, as rcutorture\nwould be running starting from early boot.  This problem has been avoided\nby (1) making rcutorture run only three seconds of every six by default,\n(2) adding a CONFIG_RCU_TORTURE_TEST_RUNNABLE that permits rcutorture\nto be quiesced at boot time, and (3) adding a sysctl in /proc named\n/proc/sys/kernel/rcutorture_runnable that permits rcutorture to be\nquiesced and unquiesced when built into the kernel.\n\nPlease note that this /proc file is -not- available when rcutorture\nis built as a module.  Please also note that to get the earlier\ntake-no-prisoners behavior, you must use the boot command line to set\nrcutorture\u0027s \"stutter\" parameter to zero.\n\nThe rcutorture quiescing mechanism is currently quite crude: loops\nin each rcutorture process that poll a global variable once per tick.\nSuggestions for improvement are welcome.  The default action will\nbe to reduce the polling rate to a few times per second.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d120f65f3aaf306c957bc4c82e510f5b0f1e9b27",
      "tree": "4b10376660bbfdb4ed8c79b17d0c1abc93b44089",
      "parents": [
        "5af970a48f3ba0dd96a036b196c79dc923f28231"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 18 05:21:44 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 18 15:06:56 2008 +0200"
      },
      "message": "rcu: make rcutorture more vicious: add stutter feature\n\nThis patch takes a step towards making rcutorture more brutal by allowing\nthe test to be automatically periodically paused, with the default being\nto run the test for five seconds then pause for five seconds and repeat.\nThis behavior can be controlled using a new \"stutter\" module parameter, so\nthat \"stutter\u003d0\" gives the old default behavior of running continuously.\n\nStarting and stopping rcutorture more heavily stresses RCU\u0027s interaction\nwith the scheduler, as well as exercising more paths through the\ngrace-period detection code.\n\nNote that the default to \"shuffle_interval\" has also been adjusted from\n5 seconds to 3 seconds to provide varying overlap with the \"stutter\"\ninterval.\n\nI am still unable to provoke the failures that Alexey has been seeing,\neven with this patch, but will be doing a few additional things to beef\nup rcutorture.\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32300751b4079cb5688453baa94711579d4285d5",
      "tree": "05a8d7d163b4878e79332a59940e6baa4efb1318",
      "parents": [
        "2326974df29988181b6b69ed6fbf42b17adf916f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 12 21:21:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 19 10:01:37 2008 +0200"
      },
      "message": "sched: 1Q08 RCU doc update, add call_rcu_sched()\n\nLong-delayed update to the RCU documentation, including adding the new\ncall_rcu_sched() and rcu_barrier_sched() APIs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b5606c2d4447e80b1d72406af4e78af1eda611d4",
      "tree": "ebdaa1a0aae4279b84af82651c16a8777f76bfe4",
      "parents": [
        "fbf6bfca76d50abef478ba902b8597ecbadfd390"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "remove final fastcall users\n\nfastcall always expands to empty, remove it.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f85d6c7168887e6659f4d00fa5f34fa23dbde1bb",
      "tree": "8a06a394c5963fe1428d023e03ac9896087b23b2",
      "parents": [
        "eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:25 2008 +0100"
      },
      "message": "Preempt-RCU: update RCU Documentation.\n\nThis patch updates the RCU documentation to reflect preemptible RCU as\nwell as recent publications.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e54e54a94cde0c2409974a4222ef2eda2e5609c8",
      "tree": "0d873e45f8c7c97aaf2955242295e53a306ae06d",
      "parents": [
        "541ceb359e3fb2714bf7a9fa3c134ce3e29f427a"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rob@landley.net",
        "time": "Tue Oct 16 23:31:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:07 2007 -0700"
      },
      "message": "Add Documentation/RCU/00-Index\n\nAdd Documentation/RCU/00-INDEX\n\nSigned-off-by: Rob Landley \u003crob@landley.net\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef48bd246124ccdef0e1fa5b03b62d69cbf71fa7",
      "tree": "830af437b3d0bc916a4f8f9928dece6b64200a66",
      "parents": [
        "4d3b573ad9af85b6df104044f6fff05f04349db2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Jul 15 23:41:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Document the fact that RCU callbacks can run in parallel\n\nAdd an item to the RCU documentation checklist noting that RCU callbacks\ncan run in parallel.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b6c2cca6eef9cc4a15350bf1c61839e12e08b84",
      "tree": "47c59830f653cb20716bd24fa5272963cceaa68f",
      "parents": [
        "11a147013e39ff4cb031395cb78a9d307c4799cd"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add sched torture type to rcutorture\n\nImplement torture testing for the \"sched\" variant of RCU, which uses\npreempt_disable, preempt_enable, and synchronize_sched.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\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": "11a147013e39ff4cb031395cb78a9d307c4799cd",
      "tree": "bbacc6c3cb3cc53e6f92da1bd6632f37a056dfeb",
      "parents": [
        "20d2e4283a97665a3db78c60dfa342a0c7c1b180"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add rcu_bh_sync torture type to rcutorture\n\nUse the newly-generic synchronous deferred free function to implement torture\ntesting for rcu_bh using synchronize_rcu_bh rather than the asynchronous\ncall_rcu_bh.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\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": "20d2e4283a97665a3db78c60dfa342a0c7c1b180",
      "tree": "25bb664ab495fe4afcf9b2f85e438a437af0f85c",
      "parents": [
        "e3033736581f125ba5fd6c0760e0d430d54fb5c0"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add rcu_sync torture type to rcutorture\n\nUse the newly-generic synchronous deferred free function to implement torture\ntesting for RCU using synchronize_rcu rather than the asynchronous call_rcu.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\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": "b772e1dd4b1e60a7a160f7bd4ea08e28394ceb54",
      "tree": "b462e17329ba1730178d35cccd1ce5cb928cc101",
      "parents": [
        "75cfef32f26d03f5d0a0833572d52f94ad858a36"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] RCU: add fake writers to rcutorture\n\nrcutorture currently has one writer and an arbitrary number of readers.  To\nbetter exercise some of the code paths in RCU implementations, add fake\nwriter threads which call the synchronize function for the RCU variant in a\nloop, with a delay between calls to arrange for different numbers of\nwriters running in parallel.\n\n[bunk@stusta.de: cleanup]\nAcked-by: Paul McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Dipkanar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2896d2e75c87ea6a842c088db730b03c91db737",
      "tree": "69411d92f0ba99d3888c6fe8c817708e9a47eb67",
      "parents": [
        "621934ee7ed5b073c7fd638b347e632c53572761"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Wed Oct 04 02:17:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] srcu-3: add SRCU operations to rcutorture\n\nAdds SRCU operations to rcutorture and updates rcutorture documentation.\nAlso increases the stress imposed by the rcutorture test.\n\n[bunk@stusta.de: make needlessly global code static]\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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"
    },
    {
      "commit": "670e9f34ee3c7e052514c85014d2fdd99b672cdc",
      "tree": "41f82a763ba6d5ca2fcb84d6a05808d095d4d051",
      "parents": [
        "53cb47268e6b38180d9f253527135e1c69c5d310"
      ],
      "author": {
        "name": "Paolo Ornati",
        "email": "ornati@fastwebnet.it",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "message": "Documentation: remove duplicated words\n\nRemove many duplicated words under Documentation/ and do other small\ncleanups.\n\nExamples:\n        \"and and\" --\u003e \"and\"\n        \"in in\" --\u003e \"in\"\n        \"the the\" --\u003e \"the\"\n        \"the the\" --\u003e \"to the\"\n        ...\n\nSigned-off-by: Paolo Ornati \u003cornati@fastwebnet.it\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "53cb47268e6b38180d9f253527135e1c69c5d310",
      "tree": "b264d89e3d21f0365fc4df0f32f5070bb4c6e91a",
      "parents": [
        "d6bc8ac9e13e466e844313b590fbc49f7f1abdea"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Tue Oct 03 22:55:17 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:55:17 2006 +0200"
      },
      "message": "Fix typos in Documentation/: \u0027S\u0027\n\nThis patch fixes typos in various Documentation txts. The patch addresses\nsome words starting with the letter \u0027S\u0027.\n\nSigned-off-by: Matt LaPlante \u003ckernel1@cyberdogtech.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "82a854ec4f46c5fbef11b06bb49078ecc5784a2d",
      "tree": "c0a04ec612047065d94d1372871eecdb6401d287",
      "parents": [
        "1454aed92b6b89cb1fbe3cbecd8ceaa7a122f3b7"
      ],
      "author": {
        "name": "Urs Thuermann",
        "email": "urs@isnogud.escape.de",
        "time": "Mon Jul 10 04:44:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:15 2006 -0700"
      },
      "message": "[PATCH] RCU Documentation fix\n\nUpdater should use _rcu variant of list_del().\n\nSigned-off-by: Urs Thuermann \u003curs@isnogud.escape.de\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": "72e9bb549280b354311af30640c9433474f3a32c",
      "tree": "5f35cb787f758f29f7853b9e1d96a9e5ab02eaed",
      "parents": [
        "29766f1eb3d8d6cfaf1d6623fb4c3f7e5a822fe4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Tue Jun 27 02:54:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] rcutorture: add ops vector and Classic RCU ops\n\nAdd an ops vector to rcutorture, and add the ops for Classic RCU.  Update\nthe rcutorture documentation to reflect slight change to the dmesg formats.\n\nSigned-off-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": "29766f1eb3d8d6cfaf1d6623fb4c3f7e5a822fe4",
      "tree": "e356c483e332f2a688d5d9e8edfb7e7a6729af44",
      "parents": [
        "1dbe83c3445a1604546620a60888cf26b63f8782"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Tue Jun 27 02:54:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] rcutorture: catchup doc fixes for idle-hz tests\n\nThis just catches the RCU torture documentation up with the recent fixes\nthat test RCU for architectures that turn of the scheduling-clock interrupt\nfor idle CPUs and the addition of a SUCCESS/FAILURE indication, fixing up\nan obsolete comment as well.\n\nSigned-off-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": "165d6c78ee24127dde5c750b2af0a239f9c11d1a",
      "tree": "a9329b5b24893588114441f43d576dfa310e5f43",
      "parents": [
        "76d42bd96984832c4ea8bc8cbd74e496ac31409e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun Jun 25 05:48:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:17 2006 -0700"
      },
      "message": "[PATCH] RCU documentation: self-limiting updates and call_rcu()\n\nAn update to the RCU documentation calling out the\nself-limiting-update-rate advantages of synchronize_rcu(), and describing\nhow to use call_rcu() in a way that results in self-limiting updates.\nSelf-limiting updates are important to avoiding RCU-induced OOM in face of\ndenial-of-service attacks.\n\nSigned-off-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": "d83015b8f62ee3fcd338f6f009051ed57f77a531",
      "tree": "11e30548e6b07045f8a17aa4661e1cde6f374b18",
      "parents": [
        "55f4e8d156d23709739029afb108932ef94cac94"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Fri Jun 23 02:05:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules\n\nRemove synchronize_kernel() (deprecated 2-APR-2005 in\nhttp://lkml.org/lkml/2005/4/3/11) and makes the RCU API inaccessible to\nnon-GPL Linux kernel modules (as was announced more than one year ago in\nhttp://lkml.org/lkml/2005/4/3/8).  Tested on x86 and ppc64.\n\nSigned-off-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": "3c30a75256a5863705fb7658cb0b2e3bb09a13df",
      "tree": "bfd7f1f84592c6cebd33bd2cc2ef710cf9fd48d1",
      "parents": [
        "c8912599c677f58fd3a5e5420c9cb6df62b2d8fa"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: documentaion\n\nReplace for_each_cpu with for_each_possible_cpu.\n\nModifies occurences in documentaion.\n\nfor_each_cpu in whatisRCU.txt should be for_each_online_cpu ???\n(I\u0027m not sure..)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de0dfcdf550e6339e9f373587da62cffb5b559f8",
      "tree": "0023fc5d21539ba3f1b54acc7dbf5c1f639195ea",
      "parents": [
        "c30fe7f73194650148b58ee80908c1bc38246397"
      ],
      "author": {
        "name": "Baruch Even",
        "email": "baruch@ev-en.org",
        "time": "Fri Mar 24 18:25:25 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 18:25:25 2006 +0100"
      },
      "message": "rcu: undeclared variable used in documentation\n\nThe RCU documentation uses an fp variable which is not declared in the code\nsnippets. Use the new_fp variable instead.\n\nSigned-Off-By: Baruch Even \u003cbaruch@ev-en.org\u003e\nAcked-by: \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "d19720a909b4443f78cbb03f4f090180e143ad9d",
      "tree": "56e579612d82f4b30d5cb943df1079b0b5f4700a",
      "parents": [
        "53d8be5c144ece5d48745810b14248968e73eaf2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Wed Feb 01 03:06:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:25 2006 -0800"
      },
      "message": "[PATCH] RCU documentation fixes (January 2006 update)\n\nUpdates to in-tree RCU documentation based on comments over the past few\nmonths.\n\nSigned-off-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": "095975da26dba21698582e91e96be10f7417333f",
      "tree": "ce1ffac556d394ef56a18faa97d38f79b07f31e2",
      "parents": [
        "a57004e1afb6ee03c509f1b1ec74a000682ab93b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Jan 08 01:02:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:48 2006 -0800"
      },
      "message": "[PATCH] rcu file: use atomic primitives\n\nUse atomic_inc_not_zero for rcu files instead of special case rcuref.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"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": "665a7583f32ab5b3bfe7a4d88da506542f7cdd75",
      "tree": "2b45def3f7ecaf322b05622a635510fe8aef51af",
      "parents": [
        "9f46080c41d5f3f7c00b4e169ba4b0b2865258bf"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Mon Nov 07 00:59:17 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:35 2005 -0800"
      },
      "message": "[PATCH] Remove hlist_for_each_rcu() API, convert existing use to hlist_for_each_entry_rcu\n\nRemove the hlist_for_each_rcu() API, which is used only in one place, and\nis trivially converted to hlist_for_each_entry_rcu(), making the code\nshorter and more readable.  Any out-of-tree uses may be similarly\nconverted.\n\nSigned-off-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": "a241ec65aeac3d69a08a7b153cccbdb7ea35063f",
      "tree": "e96585e8b1e699f31bad1fa61f34d2ec7c3a187c",
      "parents": [
        "b3099b48da23686d8378133b0264ee00385ee5fa"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun Oct 30 15:03:12 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:27 2005 -0800"
      },
      "message": "[PATCH] RCU torture-testing kernel module\n\nThis patch is a rewrite of the one submitted on October 1st, using modules\n(http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d112819093522998\u0026w\u003d2).\n\nThis rewrite adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an\nintense torture test of the RCU infratructure.  This is needed due to the\ncontinued changes to the RCU infrastructure to accommodate dynamic ticks,\nCPU hotplug, realtime, and so on.  Most of the code is in a separate file\nthat is compiled only if the CONFIG variable is set.  Documentation on how\nto run the test and interpret the output is also included.\n\nThis code has been tested on i386 and ppc64, and an earlier version of the\ncode has received extensive testing on a number of architectures as part of\nthe PREEMPT_RT patchset.\n\nSigned-off-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": "dd81eca83c8300c95d8a1eaf0d38f56513711535",
      "tree": "a1cb1aee24b703b86f7197cfe4f379529a683c5a",
      "parents": [
        "12c62c2e9abf8da804fe1def1f5bb44d023f569f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sat Sep 10 00:26:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:24 2005 -0700"
      },
      "message": "[PATCH] Yet another RCU documentation update\n\nUpdate RCU documentation based on discussions and review of RCU-based tree\npatches.  Add an introductory whatisRCU.txt file.\n\nSigned-off-by: \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": "c0dfb2905126e9e94edebbce8d3e05001301f52d",
      "tree": "db31f15f7e5dea0c812992c2ca87a1151507ed9c",
      "parents": [
        "8b6490e5faafb3a16ea45654fb55f9ff086f1495"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Sep 09 13:04:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:54 2005 -0700"
      },
      "message": "[PATCH] files: rcuref APIs\n\nAdds a set of primitives to do reference counting for objects that are looked\nup without locks using RCU.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran_th@gmail.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19306059cd7fedaf96b4b0260a9a8a45e513c857",
      "tree": "7c32d59c1a5830689d5f85a7f81e89e48d1097ae",
      "parents": [
        "fe21773d655c2c64641ec2cef499289ea175c817"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Tue Sep 06 15:16:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:19 2005 -0700"
      },
      "message": "[PATCH] NMI: Update NMI users of RCU to use new API\n\nUses of RCU for dynamically changeable NMI handlers need to use the new\nrcu_dereference() and rcu_assign_pointer() facilities.  This change makes\nit clear that these uses are safe from a memory-barrier viewpoint, but the\nmain purpose is to document exactly what operations are being protected by\nRCU.  This has been tested on x86 and x86-64, which are the only\narchitectures affected by this change.\n\nSigned-off-by: \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": "a83f1fe27f7252a2b73b4f22066e92bf99bd595b",
      "tree": "b6c4dd485fff268f86f396a85aad88cf29783dcd",
      "parents": [
        "fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:05 2005 -0700"
      },
      "message": "[PATCH] Update RCU documentation\n\nUpdate the RCU documentation to allow for the new synchronize_rcu() and\nsynchronize_sched() primitives.  Fix a few other nits as well.\n\nSigned-off-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": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
