)]}'
{
  "commit": "7f424a8b08c26dc14ac5c17164014539ac9a5c65",
  "tree": "f1f7268ce5215fe4909cb801313a8997d52d1e1e",
  "parents": [
    "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Fri Apr 25 17:39:01 2008 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Sun Apr 27 00:01:45 2008 +0200"
  },
  "message": "fix idle (arch, acpi and apm) and lockdep\n\nOK, so 25-mm1 gave a lockdep error which made me look into this.\n\nThe first thing that I noticed was the horrible mess; the second thing I\nsaw was hacks like: 71e93d15612c61c2e26a169567becf088e71b8ff\n\nThe problem is that arch idle routines are somewhat inconsitent with\ntheir IRQ state handling and instead of fixing _that_, we go paper over\nthe problem.\n\nSo the thing I\u0027ve tried to do is set a standard for idle routines and\nfix them all up to adhere to that. So the rules are:\n\n  idle routines are entered with IRQs disabled\n  idle routines will exit with IRQs enabled\n\nNearly all already did this in one form or another.\n\nMerge the 32 and 64 bit bits so they no longer have different bugs.\n\nAs for the actual lockdep warning; __sti_mwait() did a plainly un-annotated\nirq-enable.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f0030a0999c74f01785c4acd7a499778de58a4ff",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/apm_32.c",
      "new_id": "e4ea362e84800a6c28bf8056ec340aff5fea4bad",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/apm_32.c"
    },
    {
      "type": "modify",
      "old_id": "3004d716539dde2b882acd4e0576676531382965",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process.c",
      "new_id": "67e9b4a1e89d5a1ac3a3851beaab9d48bbe22c0b",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process.c"
    },
    {
      "type": "modify",
      "old_id": "77de848bd1fbbca9d498a07f4c0fbc65cf05c43b",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process_32.c",
      "new_id": "f8476dfbb60d9818f5da08d3a5b95a223930964f",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process_32.c"
    },
    {
      "type": "modify",
      "old_id": "131c2ee7ac5618e9fc92f576f4db19676bd235af",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process_64.c",
      "new_id": "e2319f39988b042f364a73174a0d2ac254a5b60d",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process_64.c"
    },
    {
      "type": "modify",
      "old_id": "788da9781f80ffb5311b396cd3557b0786376dcd",
      "old_mode": 33188,
      "old_path": "drivers/acpi/processor_idle.c",
      "new_id": "0d90ff5fd1172440b724f161b1ad51657511eb3a",
      "new_mode": 33188,
      "new_path": "drivers/acpi/processor_idle.c"
    },
    {
      "type": "modify",
      "old_id": "117343b0c271f7f3781d8d67e5e0370671b1e1a7",
      "old_mode": 33188,
      "old_path": "include/asm-x86/processor.h",
      "new_id": "2e7974ec77eca6e94b2ee503d02580a87db717a2",
      "new_mode": 33188,
      "new_path": "include/asm-x86/processor.h"
    }
  ]
}
