)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03cda7bed98587b128c5a9953316644a8debb4d2",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "7142ee3304ab6e1d6467743377182907968ac417",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    },
    {
      "type": "modify",
      "old_id": "13877cb93a6000043f11a6704f2d90b0cc04552d",
      "old_mode": 33188,
      "old_path": "include/linux/rcutiny.h",
      "new_id": "ea025a611fcc4eb2eb140b2ae92c681afcb899f7",
      "new_mode": 33188,
      "new_path": "include/linux/rcutiny.h"
    },
    {
      "type": "modify",
      "old_id": "95518e6287946177e0eceb5cbf201ebfcaf0e072",
      "old_mode": 33188,
      "old_path": "include/linux/rcutree.h",
      "new_id": "c0e96833aa734178bf123bb83ce81efa6ab6da36",
      "new_mode": 33188,
      "new_path": "include/linux/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "d806735342acb10bc3e3ae787e62ade34f1d5955",
      "old_mode": 33188,
      "old_path": "kernel/rcutiny.c",
      "new_id": "86eef29cdfb291f596bd5b83774a9d97b93ca554",
      "new_mode": 33188,
      "new_path": "kernel/rcutiny.c"
    },
    {
      "type": "modify",
      "old_id": "6ceca4f745ffa1f4535c69467ea59704e2ddbe97",
      "old_mode": 33188,
      "old_path": "kernel/rcutiny_plugin.h",
      "new_id": "95f9239df5120581ed770dd76be8d15575c4d74c",
      "new_mode": 33188,
      "new_path": "kernel/rcutiny_plugin.h"
    }
  ]
}
