)]}'
{
  "commit": "6b9c2603ce07f70de9c7a8d335ecd028e8ff11f3",
  "tree": "38b009da71a1f93bbda8621c7d2721c18913260d",
  "parents": [
    "c417f0242ebe578924a30d4e53d35b5059fed4e7"
  ],
  "author": {
    "name": "Paul Jackson",
    "email": "pj@sgi.com",
    "time": "Sun Jan 08 01:02:02 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sun Jan 08 20:13:45 2006 -0800"
  },
  "message": "[PATCH] cpuset: use rcu directly optimization\n\nOptimize the cpuset impact on page allocation, the most performance critical\ncpuset hook in the kernel.\n\nOn each page allocation, the cpuset hook needs to check for a possible change\nin the current tasks cpuset.  It can now handle the common case, of no change,\nwithout taking any spinlock or semaphore, thanks to RCU.\n\nConvert a spinlock on the current task to an rcu_read_lock(), saving\napproximately a memory barrier and an atomic op, depending on architecture.\n\nThis is done by adding rcu_assign_pointer() and synchronize_rcu() calls to the\nwrite side of the task-\u003ecpuset pointer, in cpuset.c:attach_task(), to delay\nfreeing up a detached cpuset until after any critical sections referencing\nthat pointer.\n\nThanks to Andi Kleen, Nick Piggin and Eric Dumazet for ideas.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc949e4a625c14cffc6865c6e5d98071fa2beebf",
      "old_mode": 33188,
      "old_path": "kernel/cpuset.c",
      "new_id": "6fe28d6f282bea26174b59723ba9c8cf4a3279a3",
      "new_mode": 33188,
      "new_path": "kernel/cpuset.c"
    }
  ]
}
