)]}'
{
  "log": [
    {
      "commit": "7f04ac062e92a37bb0fa3313405597244b4702c1",
      "tree": "a81e9df761334ccba5b5793866f96910842a7194",
      "parents": [
        "7adc28ae75854d9d0940668404a14d1f006f80c0"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@vnet.ibm.com",
        "time": "Fri Jun 30 01:56:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:39 2006 -0700"
      },
      "message": "[PATCH] rcu: Add lock annotations to RCU locking primitives\n\nAdd __acquire annotations to rcu_read_lock and rcu_read_lock_bh, and add\n__release annotations to rcu_read_unlock and rcu_read_unlock_bh.  This\nallows sparse to detect improperly paired calls to these functions.\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": "c32e066057fe0914da262c94e52cefb142f965b4",
      "tree": "c429649e39af7925a443c72f180349a451c7acbe",
      "parents": [
        "72e9bb549280b354311af30640c9433474f3a32c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Tue Jun 27 02:54:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] rcutorture: add call_rcu_bh() operations\n\nAdd operations for the call_rcu_bh() variant of RCU.  Also add an\nrcu_batches_completed_bh() function, which is needed by rcutorture.\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": "986733e01d258c26107f1da9d8d47c718349ad2f",
      "tree": "5e0f04a707b8c341f79927ba6fffd0ad55d85c29",
      "parents": [
        "3b7c8108273bed41a2fc04533cc9f2026ff38c8e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon May 15 09:43:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:55 2006 -0700"
      },
      "message": "[PATCH] RCU: introduce rcu_needs_cpu() interface\n\nWith \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\n\nIntroduce rcu_needs_cpu() interface.  This can be used to tell if there\nwill be a new rcu batch on a cpu soon by looking at the curlist pointer.\nThis can be used to avoid to enter a tickless idle state where the cpu\nwould miss that a new batch is ready when rcu_start_batch would be called\non a different cpu.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\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": "2178426d26661ed6e18a8d6ea0bc05c98d73600d",
      "tree": "4c9635610e9ca52a06b169ac55c77abe1d4449d2",
      "parents": [
        "7a673c6b8fff4b2888ef1d47462e4be79936ac5a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Mar 23 03:01:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] kernel/rcupdate.c: make two structs static\n\nThis patch makes two needlessly global structs static.\n\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": "21a1ea9eb40411d4ee29448c53b9e4c0654d6ceb",
      "tree": "86e4b681858ac562c953bd3ea3c038defd8ec4f4",
      "parents": [
        "e2bab3d92486fb781f4d06f56339264ed1492392"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Tue Mar 07 21:55:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 08 14:14:01 2006 -0800"
      },
      "message": "[PATCH] rcu batch tuning\n\nThis patch adds new tunables for RCU queue and finished batches.  There are\ntwo types of controls - number of completed RCU updates invoked in a batch\n(blimit) and monitoring for high rate of incoming RCUs on a cpu (qhimark,\nqlowmark).\n\nBy default, the per-cpu batch limit is set to a small value.  If the input\nRCU rate exceeds the high watermark, we do two things - force quiescent\nstate on all cpus and set the batch limit of the CPU to INTMAX.  Setting\nbatch limit to INTMAX forces all finished RCUs to be processed in one shot.\n If we have more than INTMAX RCUs queued up, then we have bigger problems\nanyway.  Once the incoming queued RCUs fall below the low watermark, the\nbatch limit is set to the default.\n\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb3b9cf122eb097ed9fe8ae50e1b0dbba9bbe447",
      "tree": "4032cc19712ff78f532d2071f15a317e026da15b",
      "parents": [
        "9d9c0531c91755a90b646b27bb722d59ee3eb46d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Fri Feb 03 03:04:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:09 2006 -0800"
      },
      "message": "[PATCH] Fix comment to synchronize_sched()\n\nFix to broken comment to synchronize_rcu() noted by Keith Owens.  Also add\nsentence noting that synchronize_sched() and synchronize_rcu() are not\nnecessarily identical.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Keith Owens \u003ckaos@sgi.com\u003e\nCc: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69a0b3157983925f14fe0bdc49622d5389538d8d",
      "tree": "d77b406001d01b0a200c9f713d8287a2ec42ae58",
      "parents": [
        "c0400dc507a4345357fc25f13e8ac929287688a8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jan 10 16:48:02 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:42:50 2006 -0800"
      },
      "message": "[PATCH] rcu: join rcu_ctrlblk and rcu_state\n\nThis patch moves rcu_state into the rcu_ctrlblk. I think there\nare no reasons why we should have 2 different variables to control\nrcu state. Every user of rcu_state has also \"rcu_ctrlblk *rcp\" in\nthe parameter list.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "677517771b7b6efaf8617e70f655b16f3cafcc9b",
      "tree": "811f5df7b430cf865ac337f73c7aa2f67cb0bbac",
      "parents": [
        "e2688f00dc0ceb9d9867434dffbd080411fc23b0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jan 08 22:19:16 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 09 09:35:44 2006 -0800"
      },
      "message": "[PATCH] rcu: uninline __rcu_pending()\n\n__rcu_pending() is rather fat and called twice from rcu_pending().\n\nrcu_pending() has multiple callers, and not that small too.\n\nThis patch uninlines both of them.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05",
      "tree": "3887dc6f1eeb658d773be037971b98d6f5fb3dd7",
      "parents": [
        "6d524aed1f50b2b1d5b4ad5a4e2fe3f38106d0a6"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros\n\n____cacheline_maxaligned_in_smp is currently used to align critical structures\nand avoid false sharing.  It uses per-arch L1_CACHE_SHIFT_MAX and people find\nL1_CACHE_SHIFT_MAX useless.\n\nHowever, we have been using ____cacheline_maxaligned_in_smp to align\nstructures on the internode cacheline size.  As per Andi\u0027s suggestion,\nfollowing patch kills ____cacheline_maxaligned_in_smp and introduces\nINTERNODE_CACHE_SHIFT, which defaults to L1_CACHE_SHIFT for all arches.\nArches needing L3/Internode cacheline alignment can define\nINTERNODE_CACHE_SHIFT in the arch asm/cache.h.  Patch replaces\n____cacheline_maxaligned_in_smp with ____cacheline_internodealigned_in_smp\n\nWith this patch, L1_CACHE_SHIFT_MAX can be killed\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab4720ec76b756e1f8705e207a7b392b0453afd6",
      "tree": "1c4235ec8ac0e8e7f75a6f97ea6169e93647004f",
      "parents": [
        "85b872424984e79519be904e7df02a91ba0a9486"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Mon Dec 12 00:37:05 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 08:57:42 2005 -0800"
      },
      "message": "[PATCH] add rcu_barrier() synchronization point\n\nThis introduces a new interface - rcu_barrier() which waits until all\nthe RCUs queued until this call have been completed.\n\nReiser4 needs this, because we do more than just freeing memory object\nin our RCU callback: we also remove it from the list hanging off\nsuper-block.  This means, that before freeing reiser4-specific portion\nof super-block (during umount) we have to wait until all pending RCU\ncallbacks are executed.\n\nThe only change of reiser4 made to the original patch, is exporting of\nrcu_barrier().\n\nCc: Hans Reiser \u003creiser@namesys.com\u003e\nCc: Vladimir V. Saveliev \u003cvs@namesys.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": "5ee832dbc6770135ec8d63296af0a4374557bb79",
      "tree": "80ffdc157100df18f1c18d39f5036a9b798f2c06",
      "parents": [
        "cc675230a9ca17010694bc8bd3c69ca9adf2efef"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 17 20:01:21 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 15:27:58 2005 -0700"
      },
      "message": "[PATCH] rcu: keep rcu callback event counter\n\nThis makes call_rcu() keep track of how many events there are on the RCU\nlist, and cause a reschedule event when the list gets too long.\n\nThis helps keep RCU event lists down.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b6490e5faafb3a16ea45654fb55f9ff086f1495",
      "tree": "7af6f19fb36afe14a3405a4a656c29ad7ce251eb",
      "parents": [
        "0f97a931b337e4662e736ca67f1fab0a187f5852"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Sep 09 13:04:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:54 2005 -0700"
      },
      "message": "[PATCH] files: fix rcu initializers\n\nFirst of a number of files_lock scaability patches.\n\n Here are the x86 numbers -\n\n tiobench on a 4(8)-way (HT) P4 system on ramdisk :\n\n                                         (lockfree)\n Test            2.6.10-vanilla  Stdev   2.6.10-fd       Stdev\n -------------------------------------------------------------\n Seqread         1400.8          11.52   1465.4          34.27\n Randread        1594            8.86    2397.2          29.21\n Seqwrite        242.72          3.47    238.46          6.53\n Randwrite       445.74          9.15    446.4           9.75\n\n The performance improvement is very significant.\n We are getting killed by the cacheline bouncing of the files_struct\n lock here. Writes on ramdisk (ext2) seems to vary just too\n much to get any meaningful number.\n\n Also, With Tridge\u0027s thread_perf test on a 4(8)-way (HT) P4 xeon system :\n\n 2.6.12-rc5-vanilla :\n\n Running test \u0027readwrite\u0027 with 8 tasks\n Threads     0.34 +/- 0.01 seconds\n Processes   0.16 +/- 0.00 seconds\n\n 2.6.12-rc5-fd :\n\n Running test \u0027readwrite\u0027 with 8 tasks\n Threads     0.17 +/- 0.02 seconds\n Processes   0.17 +/- 0.02 seconds\n\n I repeated the measurements on ramfs (as opposed to ext2 on ramdisk in\n the earlier measurement) and I got more consistent results from tiobench :\n\n 4(8) way xeon P4\n -----------------\n                                         (lock-free)\n Test            2.6.12-rc5      Stdev   2.6.12-rc5-fd   Stdev\n -------------------------------------------------------------\n Seqread         1282            18.59   1343.6          26.37\n Randread        1517            7       2415            34.27\n Seqwrite        702.2           5.27    709.46           5.9\n Randwrite       846.86          15.15   919.68          21.4\n\n 4-way ppc64\n ------------\n                                         (lock-free)\n Test            2.6.12-rc5      Stdev   2.6.12-rc5-fd   Stdev\n -------------------------------------------------------------\n Seqread         1549            91.16   1569.6          47.2\n Randread        1473.6          25.11   1585.4          69.99\n Seqwrite        1096.8          20.03   1136            29.61\n Randwrite       1189.6           4.04   1275.2          32.96\n\n Also running Tridge\u0027s thread_perf test on ppc64 :\n\n 2.6.12-rc5-vanilla\n --------------------\n Running test \u0027readwrite\u0027 with 4 tasks\n Threads     0.20 +/- 0.02 seconds\n Processes   0.16 +/- 0.01 seconds\n\n 2.6.12-rc5-fd\n --------------------\n Running test \u0027readwrite\u0027 with 4 tasks\n Threads     0.18 +/- 0.04 seconds\n Processes   0.16 +/- 0.01 seconds\n\n The benefits are huge (upto ~60%) in some cases on x86 primarily\n due to the atomic operations during acquisition of -\u003efile_lock\n and cache line bouncing in fast path. ppc64 benefits are modest\n due to LL/SC based locking, but still statistically significant.\n\nThis patch:\n\nRCU head initilizer no longer needs the head varible name since we don\u0027t use\nlist.h lists anymore.\n\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": "9b06e818985d139fd9e82c28297f7744e1b484e1",
      "tree": "3cd2ba33b22fc2812f714f86ea52c68704f8e2c3",
      "parents": [
        "512345be2549308b8ae8e85a3ff7f6d56a38e5f6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "message": "[PATCH] Deprecate synchronize_kernel, GPL replacement\n\nThe synchronize_kernel() primitive is used for quite a few different purposes:\nwaiting for RCU readers, waiting for NMIs, waiting for interrupts, and so on.\nThis makes RCU code harder to read, since synchronize_kernel() might or might\nnot have matching rcu_read_lock()s.  This patch creates a new\nsynchronize_rcu() that is to be used for RCU readers and a new\nsynchronize_sched() that is used for the rest.  These two new primitives\ncurrently have the same implementation, but this is might well change with\nadditional real-time support.  Both new primitives are GPL-only, the old\nprimitive is deprecated.\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"
    }
  ]
}
