)]}'
{
  "commit": "fc2219d49ef1606e7fd2c88af2b423b01ff3d319",
  "tree": "1c1cba7e4334898a98cf0e2c992e8cfef4b34979",
  "parents": [
    "0729e196147692d84d4c099fcff056eba2ed61d8"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Wed Sep 23 09:50:41 2009 -0700"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Wed Sep 23 19:46:29 2009 +0200"
  },
  "message": "rcu: Clean up code based on review feedback from Josh Triplett\n\nThese issues identified during an old-fashioned face-to-face code\nreview extended over many hours.\n\no\tBury various forms of the \"rsp-\u003ecompleted \u003d\u003d rsp-\u003egpnum\"\n\tcomparison into an rcu_gp_in_progress() function, which has\n\tthe beneficial side-effect of forcing consistent use of\n\tACCESS_ONCE().\n\no\tReplace hand-coded arithmetic with DIV_ROUND_UP().\n\no\tBury several \"!list_empty(\u0026rnp-\u003eblocked_tasks[rnp-\u003egpnum \u0026 0x01])\"\n\tinstances into an rcu_preempted_readers() function, as this\n\texpression indicates that there are no readers blocked\n\twithin RCU read-side critical sections blocking the current\n\tgrace period.  (Though there might well be similar readers\n\tblocking the next grace period.)\n\no\tRemove a dangling rcu_restart_cpu() declaration that has\n\tbeen dangling for almost 20 minor releases of the kernel.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12537246442687-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "37682770e9d2cb90c22d7032cf49293b502a1584",
      "old_mode": 33188,
      "old_path": "include/linux/rcutree.h",
      "new_id": "88109c87f29cd76a6d52cc0bed1c2a88de589dc4",
      "new_mode": 33188,
      "new_path": "include/linux/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "52b06f6e158c5e695f5a53f61eb11298b2bed04a",
      "old_mode": 33188,
      "old_path": "kernel/rcutree.c",
      "new_id": "f85b6842d1e1a65ca6a2877f035d0a58aaf51ea5",
      "new_mode": 33188,
      "new_path": "kernel/rcutree.c"
    },
    {
      "type": "modify",
      "old_id": "8e8287a983c2b3714336c2b8eacfc4595323c9df",
      "old_mode": 33188,
      "old_path": "kernel/rcutree.h",
      "new_id": "9aa8c8a160d86c5811438c11238f76696f9d12d8",
      "new_mode": 33188,
      "new_path": "kernel/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "1cee04f627eb2631aab0083e5eebe02e6be394be",
      "old_mode": 33188,
      "old_path": "kernel/rcutree_plugin.h",
      "new_id": "8ff1ba7b3c432f37e7f5cbdc1ef972a40c75368c",
      "new_mode": 33188,
      "new_path": "kernel/rcutree_plugin.h"
    }
  ]
}
