)]}'
{
  "commit": "79cfbdfa87e84992d509e6c1648a18e1d7e68c20",
  "tree": "cc82be9bc890aa0b2b635ceff06db2ed9056460d",
  "parents": [
    "ddf6ce45a7b1193f3cf20ad234f35af3b998b8f8"
  ],
  "author": {
    "name": "Srivatsa S. Bhat",
    "email": "srivatsa.bhat@linux.vnet.ibm.com",
    "time": "Thu Nov 03 00:59:25 2011 +0100"
  },
  "committer": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Fri Nov 04 22:28:09 2011 +0100"
  },
  "message": "PM / Sleep: Fix race between CPU hotplug and freezer\n\nThe CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()\nfunctions depend on the value of the \u0027tasks_frozen\u0027 argument passed to them\n(which indicates whether tasks have been frozen or not).\n(Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,\nCPU_DEAD, CPU_DEAD_FROZEN).\n\nThus, it is essential that while the callbacks for those notifications are\nrunning, the state of the system with respect to the tasks being frozen or\nnot remains unchanged, *throughout that duration*. Hence there is a need for\nsynchronizing the CPU hotplug code with the freezer subsystem.\n\nSince the freezer is involved only in the Suspend/Hibernate call paths, this\npatch hooks the CPU hotplug code to the suspend/hibernate notifiers\nPM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent\nthe race between CPU hotplug and freezer, thus ensuring that CPU hotplug\nnotifications will always be run with the state of the system really being\nwhat the notifications indicate, _throughout_ their execution time.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "12b7458f23b12a2a68b30857fa913f424cb71a4c",
      "old_mode": 33188,
      "old_path": "kernel/cpu.c",
      "new_id": "aa39dd7a3846da09026293b0520f56fc3be65fe1",
      "new_mode": 33188,
      "new_path": "kernel/cpu.c"
    }
  ]
}
