)]}'
{
  "commit": "6e453a67510a17f01b63835f18569e8c3939a38c",
  "tree": "2cbc50f434cf4397d2f279480ea2c2a87defa9b0",
  "parents": [
    "da6752964290567a6b4ea180d1becda75e810e87"
  ],
  "author": {
    "name": "Venki Pallipadi",
    "email": "venkatesh.pallipadi@intel.com",
    "time": "Tue May 08 00:27:44 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue May 08 11:15:05 2007 -0700"
  },
  "message": "Add support for deferrable timers\n\nIntroduce a new flag for timers - deferrable: Timers that work normally\nwhen system is busy.  But, will not cause CPU to come out of idle (just to\nservice this timer), when CPU is idle.  Instead, this timer will be\nserviced when CPU eventually wakes up with a subsequent non-deferrable\ntimer.\n\nThe main advantage of this is to avoid unnecessary timer interrupts when\nCPU is idle.  If the routine currently called by a timer can wait until\nnext event without any issues, this new timer can be used to setup timer\nevent for that routine.  This, with dynticks, allows CPUs to be lazy,\nallowing them to stay in idle for extended period of time by reducing\nunnecesary wakeup and thereby reducing the power consumption.\n\nThis patch:\n\nBuilds this new timer on top of existing timer infrastructure.  It uses\nlast bit in \u0027base\u0027 pointer of timer_list structure to store this deferrable\ntimer flag.  __next_timer_interrupt() function skips over these deferrable\ntimers when CPU looks for next timer event for which it has to wake up.\n\nThis is exported by a new interface init_timer_deferrable() that can be\ncalled in place of regular init_timer().\n\n[akpm@linux-foundation.org: Privatise a #define]\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "719113b652dd55e31bd1f0afd039a55b1d972de0",
      "old_mode": 33188,
      "old_path": "include/linux/timer.h",
      "new_id": "e0c5c16c992f2aeac2a2db8436354aec639c1f9a",
      "new_mode": 33188,
      "new_path": "include/linux/timer.h"
    },
    {
      "type": "modify",
      "old_id": "b22bd39740dd2e44a603deae1951e4c2be3cb415",
      "old_mode": 33188,
      "old_path": "kernel/timer.c",
      "new_id": "dbe966feff2fe12ab0dbd212553285cb432430b3",
      "new_mode": 33188,
      "new_path": "kernel/timer.c"
    }
  ]
}
