)]}'
{
  "log": [
    {
      "commit": "ba74f4d7e5125d04d453b4af69c53c533e6feb80",
      "tree": "ca8f76842b902133c36f0a7b2e810963799c1b5f",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Jan 09 18:09:51 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Mar 04 08:05:08 2011 -0800"
      },
      "message": "rcu: call __rcu_read_unlock() in exit_rcu for tiny RCU\n\nUsing __rcu_read_lock() in place of rcu_read_lock() leaves any debug\nstate as it really should be, namely with the lock still held.\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": "e940cc804ec212e483f91167b93d1740c2fd3415",
      "tree": "9164029ed43f5884b84b72a72bf9049e013d8de9",
      "parents": [
        "8e79e1f9615b83d1e1d26b328d1b776111ca0cf7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 04 14:55:26 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:56 2010 -0800"
      },
      "message": "rcu: Distinguish between boosting and boosted\n\nRCU priority boosting\u0027s tracing did not distinguish between ongoing\nboosting and completion of boosting.  This commit therefore adds this\ncapability.\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": "9e571a82f0cb205a65a0ea41657f19f22b7fabb8",
      "tree": "64a83a06e18d0fd82af91560a2bf0947e0e3d071",
      "parents": [
        "24278d148316d2180be6df40e06db013d8b232b8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Sep 30 21:26:52 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:55 2010 -0800"
      },
      "message": "rcu: add tracing for TINY_RCU and TINY_PREEMPT_RCU\n\nAdd tracing for the tiny RCU implementations, including statistics on\nboosting in the case of TINY_PREEMPT_RCU and RCU_BOOST.\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": "24278d148316d2180be6df40e06db013d8b232b8",
      "tree": "6a579d483f8f799b352e39b972a7e03cc6204fc1",
      "parents": [
        "b2c0710c464ede15e1fc52fb1e7ee9ba54cea186"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Sep 27 17:25:23 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:54 2010 -0800"
      },
      "message": "rcu: priority boosting for TINY_PREEMPT_RCU\n\nAdd priority boosting, but only for TINY_PREEMPT_RCU.  This is enabled\nby the default-off RCU_BOOST kernel parameter.  The priority to which to\nboost preempted RCU readers is controlled by the RCU_BOOST_PRIO kernel\nparameter (defaulting to real-time priority 1) and the time to wait\nbefore boosting the readers blocking a given grace period is controlled\nby the RCU_BOOST_DELAY kernel parameter (defaulting to 500 milliseconds).\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": "b2c0710c464ede15e1fc52fb1e7ee9ba54cea186",
      "tree": "7524518fec8a02e53c3fab558b40a5e94f0bb5ec",
      "parents": [
        "8e8be45e8e55daa381028aec339829929ddb53a5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Sep 09 13:40:39 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Nov 17 15:45:09 2010 -0800"
      },
      "message": "rcu: move TINY_RCU from softirq to kthread\n\nIf RCU priority boosting is to be meaningful, callback invocation must\nbe boosted in addition to preempted RCU readers.  Otherwise, in presence\nof CPU real-time threads, the grace period ends, but the callbacks don\u0027t\nget invoked.  If the callbacks don\u0027t get invoked, the associated memory\ndoesn\u0027t get freed, so the system is still subject to OOM.\n\nBut it is not reasonable to priority-boost RCU_SOFTIRQ, so this commit\nmoves the callback invocations to a kthread, which can be boosted easily.\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": "dd7c4d89730a1be2c1d361a8ae1f0fe9465ccf9c",
      "tree": "fa4c50a0e70255ab222dcdf00b36d36a9a1fb92d",
      "parents": [
        "2c96c7751d2bb822542b03ddfaca70933f5aaf02"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 27 10:51:17 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 27 10:51:17 2010 -0700"
      },
      "message": "rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n\nThis commit tightens up checks in rcu_preempt_check_callbacks() to avoid\nunnecessary special handling at rcu_read_unlock() time.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a3dc3fb161f9b4066c0fce22db72638af8baf83b",
      "tree": "e41a30edd7e4965807b199da7637a6d6e44d4ed1",
      "parents": [
        "53d84e004d5e8c018be395c4330dc72fd60bd13e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 13 16:16:25 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 20 09:00:13 2010 -0700"
      },
      "message": "rcu: repair code-duplication FIXMEs\n\nCombine the duplicate definitions of ULONG_CMP_GE(), ULONG_CMP_LT(),\nand rcu_preempt_depth() into include/linux/rcupdate.h.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a57eb940d130477a799dfb24a570ee04979c0f7f",
      "tree": "5add1c135a302cf1c1a454b0620ed17eb802923b",
      "parents": [
        "4d87ffadbba88105f33271bef5f2c79366c6a4e1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jun 29 16:49:16 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Aug 20 08:55:00 2010 -0700"
      },
      "message": "rcu: Add a TINY_PREEMPT_RCU\n\nImplement a small-memory-footprint uniprocessor-only implementation of\npreemptible RCU.  This implementation uses but a single blocked-tasks\nlist rather than the combinatorial number used per leaf rcu_node by\nTREE_PREEMPT_RCU, which reduces memory consumption and greatly simplifies\nprocessing.  This version also takes advantage of uniprocessor execution\nto accelerate grace periods in the case where there are no readers.\n\nThe general design is otherwise broadly similar to that of TREE_PREEMPT_RCU.\n\nThis implementation is a step towards having RCU implementation driven\noff of the SMP and PREEMPT kernel configuration variables, which can\nhappen once this implementation has accumulated sufficient experience.\n\nRemoved ACCESS_ONCE() from __rcu_read_unlock() and added barrier() as\nsuggested by Steve Rostedt in order to avoid the compiler-reordering\nissue noted by Mathieu Desnoyers (http://lkml.org/lkml/2010/8/16/183).\n\nAs can be seen below, CONFIG_TINY_PREEMPT_RCU represents almost 5Kbyte\nsavings compared to CONFIG_TREE_PREEMPT_RCU.  Of course, for non-real-time\nworkloads, CONFIG_TINY_RCU is even better.\n\n\tCONFIG_TREE_PREEMPT_RCU\n\n\t   text\t   data\t    bss\t    dec\t   filename\n\t     13\t      0\t      0\t     13\t   kernel/rcupdate.o\n\t   6170\t    825\t     28\t   7023\t   kernel/rcutree.o\n\t\t\t\t   ----\n\t\t\t\t   7026    Total\n\n\tCONFIG_TINY_PREEMPT_RCU\n\n\t   text\t   data\t    bss\t    dec\t   filename\n\t     13\t      0\t      0\t     13\t   kernel/rcupdate.o\n\t   2081\t     81\t      8\t   2170\t   kernel/rcutiny.o\n\t\t\t\t   ----\n\t\t\t\t   2183    Total\n\n\tCONFIG_TINY_RCU (non-preemptible)\n\n\t   text\t   data\t    bss\t    dec\t   filename\n\t     13\t      0\t      0\t     13\t   kernel/rcupdate.o\n\t    719\t     25\t      0\t    744\t   kernel/rcutiny.o\n\t\t\t\t    ---\n\t\t\t\t    757    Total\n\nRequested-by: Loïc Minier \u003cloic.minier@canonical.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bbad937983147c017c25406860287cb94da9af7c",
      "tree": "57311598c360b92b189c7ec337146e4bc779c73d",
      "parents": [
        "25502a6c13745f4650cc59322bd198194f55e796"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 02 16:17:17 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:34 2010 -0700"
      },
      "message": "rcu: slim down rcutiny by removing rcu_scheduler_active and friends\n\nTINY_RCU does not need rcu_scheduler_active unless CONFIG_DEBUG_LOCK_ALLOC.\nSo conditionally compile rcu_scheduler_active in order to slim down\nrcutiny a bit more.  Also gets rid of an EXPORT_SYMBOL_GPL, which is\nresponsible for most of the slimming.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    }
  ]
}
