)]}'
{
  "commit": "a6037b61c2f5fc99c57c15b26d7cfa58bbb34008",
  "tree": "b076de5cc8a75e4227f96dda31a0daa6e895579b",
  "parents": [
    "731a55ba0f17064f85903b7bf8e24849ec6cfa20"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Mon Jan 05 11:28:22 2009 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Mon Jan 05 13:14:33 2009 +0100"
  },
  "message": "hrtimer: fix recursion deadlock by re-introducing the softirq\n\nImpact: fix rare runtime deadlock\n\nThere are a few sites that do:\n\n  spin_lock_irq(\u0026foo)\n  hrtimer_start(\u0026bar)\n    __run_hrtimer(\u0026bar)\n      func()\n        spin_lock(\u0026foo)\n\nwhich obviously deadlocks. In order to avoid this, never call __run_hrtimer()\nfrom hrtimer_start*() context, but instead defer this to softirq context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0702c4d7bdf01f17f34aaa4e91c077bcec1b15ec",
      "old_mode": 33188,
      "old_path": "include/linux/interrupt.h",
      "new_id": "2062833f5f7a8bddc374b05f778492c0bb5e00bb",
      "new_mode": 33188,
      "new_path": "include/linux/interrupt.h"
    },
    {
      "type": "modify",
      "old_id": "8010a67cead0ddda17d26f447586cefc0c168c89",
      "old_mode": 33188,
      "old_path": "kernel/hrtimer.c",
      "new_id": "b68e98f4e4c12bb86b8a30ed0a37866b810defed",
      "new_mode": 33188,
      "new_path": "kernel/hrtimer.c"
    }
  ]
}
