)]}'
{
  "commit": "51badebdcf394cc5fd574a524b55b3f6085e5e9c",
  "tree": "2e8173c3995f45a88826d5f453545a2c8dd86621",
  "parents": [
    "b6db63d1a7f0138f348ba7a648df35ac6365988e"
  ],
  "author": {
    "name": "Gautham R Shenoy",
    "email": "ego@in.ibm.com",
    "time": "Thu Nov 26 09:59:05 2009 +0000"
  },
  "committer": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Wed Dec 09 17:09:36 2009 +1100"
  },
  "message": "powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate\n\nCurrently the cpu-allocation/deallocation process comprises of two steps:\n- Set the indicators and to update the device tree with DLPAR node\n  information.\n\n- Online/offline the allocated/deallocated CPU.\n\nThis is achieved by writing to the sysfs tunables \"probe\" during allocation\nand \"release\" during deallocation.\n\nAt the sametime, the userspace can independently online/offline the CPUs of\nthe system using the sysfs tunable \"online\".\n\nIt is quite possible that when a userspace tool offlines a CPU\nfor the purpose of deallocation and is in the process of updating the device\ntree, some other userspace tool could bring the CPU back online by writing to\nthe \"online\" sysfs tunable thereby causing the deallocate process to fail.\n\nThe solution to this is to serialize writes to the \"probe/release\" sysfs\ntunable with the writes to the \"online\" sysfs tunable.\n\nThis patch employs a mutex to provide this serialization, which is a no-op on\nall architectures except PPC_PSERIES\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "642e1b2e5c4246ddb01c6a0113506e855a5b5206",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/pseries/dlpar.c",
      "new_id": "fd2f0afeb4de9ad46a070401fcf694315eaf20e8",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/pseries/dlpar.c"
    },
    {
      "type": "modify",
      "old_id": "7c03af7b84a93c8822a8d75ef02c9cd5b0f3993f",
      "old_mode": 33188,
      "old_path": "drivers/base/cpu.c",
      "new_id": "27fd775375b04965b834d7817db43efa059a2c97",
      "new_mode": 33188,
      "new_path": "drivers/base/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "c972f7ccb7d35a9f487c8c642c6dcf84ef5de51a",
      "old_mode": 33188,
      "old_path": "include/linux/cpu.h",
      "new_id": "e287863ac053d9788756ac79c9271ba562d455b1",
      "new_mode": 33188,
      "new_path": "include/linux/cpu.h"
    }
  ]
}
