)]}'
{
  "commit": "ccea34b5d0fbab081496d1860f31acee99fa8a6d",
  "tree": "e7066b5dde0e83a216768569e57cd71cc83fe912",
  "parents": [
    "a56dbddf06b653ef9c04ca3767f260fd31ccebab"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Sat Mar 07 00:44:13 2009 +0900"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Sat Mar 07 14:46:35 2009 +0900"
  },
  "message": "percpu: finer grained locking to break deadlock and allow atomic free\n\nImpact: fix deadlock and allow atomic free\n\nPercpu allocation always uses GFP_KERNEL and whole alloc/free paths\nwere protected by single mutex.  All percpu allocations have been from\nGFP_KERNEL-safe context and the original allocator had this assumption\ntoo.  However, by protecting both alloc and free paths with the same\nmutex, the new allocator creates free -\u003e alloc -\u003e GFP_KERNEL\ndependency which the original allocator didn\u0027t have.  This can lead to\ndeadlock if free is called from FS or IO paths.  Also, in general,\nallocators are expected to allow free to be called from atomic\ncontext.\n\nThis patch implements finer grained locking to break the deadlock and\nallow atomic free.  For details, please read the \"Synchronization\nrules\" comment.\n\nWhile at it, also add CONTEXT: to function comments to describe which\ncontext they expect to be called from and what they do to it.\n\nThis problem was reported by Thomas Gleixner and Peter Zijlstra.\n\n  http://thread.gmane.org/gmane.linux.kernel/802384\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4c8a419119dae00a6957001cc5587228d64c3b14",
      "old_mode": 33188,
      "old_path": "mm/percpu.c",
      "new_id": "bfe6a3afaf45e4be409d8231434447735d40de9c",
      "new_mode": 33188,
      "new_path": "mm/percpu.c"
    }
  ]
}
