)]}'
{
  "commit": "a68e5c94f7d3dd64fef34dd5d97e365cae4bb42a",
  "tree": "6389beb6a418b965a3a520523be8bd05e30e3f2e",
  "parents": [
    "ea53069231f9317062910d6e772cca4ce93de8c8"
  ],
  "author": {
    "name": "H. Peter Anvin",
    "email": "hpa@linux.intel.com",
    "time": "Fri Sep 17 17:06:46 2010 -0700"
  },
  "committer": {
    "name": "H. Peter Anvin",
    "email": "hpa@linux.intel.com",
    "time": "Fri Sep 17 17:10:23 2010 -0700"
  },
  "message": "x86, hotplug: Move WBINVD back outside the play_dead loop\n\nOn processors with hyperthreading, when only one thread is offlined\nthe other thread can cause a spurious wakeup on the idled thread.  We\ndo not want to re-WBINVD when that happens.\n\nIdeally, we should simply skip WBINVD unless we\u0027re the last thread on\na particular core to shut down, but there might be similar issues\nelsewhere in the system.\n\nThus, revert to previous behavior of only WBINVD outside the loop.\nPartly as a result, remove the mb()\u0027s around it: they are not\nnecessary since wbinvd() is a serializing instruction, but they were\nintended to make sure the compiler didn\u0027t do any funny loop\noptimizations.\n\nReported-by: Asit Mallick \u003casit.k.mallick@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.kernel.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.hl\u003e\nLKML-Reference: \u003ctip-ea53069231f9317062910d6e772cca4ce93de8c8@git.kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07bf4233441d7f417c5458496a9bcc36ac3253b0",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/smpboot.c",
      "new_id": "55c80ffb8719d6c460d0a16a60c17f6726bbdbf5",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/smpboot.c"
    }
  ]
}
