)]}'
{
  "commit": "4d4c4e24cf48400a24d33feffc7cca4f4e8cabe1",
  "tree": "b1d4862302c3cc56a10bed9605c9e9b0379a234b",
  "parents": [
    "af7bdbafe3812af406ce07631effd2b96aae2dba"
  ],
  "author": {
    "name": "Frederic Weisbecker",
    "email": "fweisbec@gmail.com",
    "time": "Fri Feb 22 00:05:07 2013 +0100"
  },
  "committer": {
    "name": "Frederic Weisbecker",
    "email": "fweisbec@gmail.com",
    "time": "Fri Feb 22 00:05:07 2013 +0100"
  },
  "message": "irq: Remove IRQ_EXIT_OFFSET workaround\n\nThe IRQ_EXIT_OFFSET trick was used to make sure the irq\ndoesn\u0027t get preempted after we substract the HARDIRQ_OFFSET\nuntil we are entirely done with any code in irq_exit().\n\nThis workaround was necessary because some archs may call\nirq_exit() with irqs enabled and there is still some code\nin the end of this function that is not covered by the\nHARDIRQ_OFFSET but want to stay non-preemptible.\n\nNow that irq are always disabled in irq_exit(), the whole code\nis guaranteed not to be preempted. We can thus remove this hack.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29eb805ea4a6b2c98236bbd0f24cc00a45ec53df",
      "old_mode": 33188,
      "old_path": "include/linux/hardirq.h",
      "new_id": "c1d6555d2567468f86a6c1b6d745d927f1a25815",
      "new_mode": 33188,
      "new_path": "include/linux/hardirq.h"
    },
    {
      "type": "modify",
      "old_id": "24a921bcf04fc5f58c31446bcda7ae5d16581775",
      "old_mode": 33188,
      "old_path": "kernel/softirq.c",
      "new_id": "f42ff97e1f8f4a3e932c979f3defe0d0eff6c538",
      "new_mode": 33188,
      "new_path": "kernel/softirq.c"
    }
  ]
}
