)]}'
{
  "commit": "91f017372a48d2d128d08964bcfeafbd98b6d739",
  "tree": "ca10991ee9566fe1801c41b0b4813b0d88b50e11",
  "parents": [
    "efe8dc556cd0f22e04c453188ffbc408b492eb82"
  ],
  "author": {
    "name": "Deng-Cheng Zhu",
    "email": "dengcheng.zhu@gmail.com",
    "time": "Fri Jan 21 16:19:17 2011 +0800"
  },
  "committer": {
    "name": "Ralf Baechle",
    "email": "ralf@linux-mips.org",
    "time": "Mon Mar 14 21:07:26 2011 +0100"
  },
  "message": "MIPS, Perf-events: Work with irq_work\n\nThis is the MIPS part of the following commit by Peter Zijlstra:\n\n- e360adbe29241a0194e10e20595360dd7b98a2b3\n    irq_work: Add generic hardirq context callbacks\n\n    Provide a mechanism that allows running code in IRQ context. It is\n    most useful for NMI code that needs to interact with the rest of the\n    system -- like wakeup a task to drain buffers.\n\n    Perf currently has such a mechanism, so extract that and provide it as\n    a generic feature, independent of perf so that others may also\n    benefit.\n\n    The IRQ context callback is generated through self-IPIs where\n    possible, or on architectures like powerpc the decrementer (the\n    built-in timer facility) is set to generate an interrupt immediately.\n\n    Architectures that don\u0027t have anything like this get to do with a\n    callback from the timer tick. These architectures can call\n    irq_work_run() at the tail of any IRQ handlers that might enqueue such\n    work (like the perf IRQ handler) to avoid undue latencies in\n    processing the work.\n\nFor MIPSXX, we need to call irq_work_run() at the tail of the perf IRQ\nhandler as described above.\n\nReported-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: fweisbec@gmail.com\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com,\nPatchwork: http://patchwork.linux-mips.org/patch/2011/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "972695e359ebb2eee64f234251fd0833daacffb6",
      "old_mode": 33188,
      "old_path": "arch/mips/Kconfig",
      "new_id": "bd7b64d252dc7772743992e33531bd7f8da5f67f",
      "new_mode": 33188,
      "new_path": "arch/mips/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "e00007cf816220ed3f62c9269372d1f050714027",
      "old_mode": 33188,
      "old_path": "arch/mips/include/asm/perf_event.h",
      "new_id": "d0c77496c7281fdca202a46ef8d453aa04557f7b",
      "new_mode": 33188,
      "new_path": "arch/mips/include/asm/perf_event.h"
    },
    {
      "type": "modify",
      "old_id": "183e0d226669193700c72f405f1e4e43303612a4",
      "old_mode": 33188,
      "old_path": "arch/mips/kernel/perf_event_mipsxx.c",
      "new_id": "d45ea37062bc5377a4624b35f95923d4f311f23f",
      "new_mode": 33188,
      "new_path": "arch/mips/kernel/perf_event_mipsxx.c"
    }
  ]
}
