)]}'
{
  "commit": "a9a2c44ff0a1350f8bfe3a162ecf71b1c9ce5cc2",
  "tree": "ac5ffc65084b48895239e9044893ae7e0b2d91b1",
  "parents": [
    "c3e7e7916ec61cf58c88af12f4db17f28cffd83a"
  ],
  "author": {
    "name": "Corey Minyard",
    "email": "minyard@acm.org",
    "time": "Mon Nov 07 01:00:03 2005 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Mon Nov 07 07:53:44 2005 -0800"
  },
  "message": "[PATCH] ipmi: add timer thread\n\nWe must poll for responses to commands when interrupts aren\u0027t in use.  The\ndefault poll interval is based on using a kernel timer, which varies with HZ.\nFor character-based interfaces like KCS and SMIC though, that can be way too\nslow (\u003e15 minutes to flash a new firmware with KCS, \u003e20 seconds to retrieve\nthe sensor list).\n\nThis creates a low-priority kernel thread to poll more often.  If the state\nmachine is idle, so is the kernel thread.  But if there\u0027s an active command,\nit polls quite rapidly.  This decrease a firmware flash time from 15 minutes\nto 1.5 minutes, and the sensor list time to 4.5 seconds, on a Dell PowerEdge\nx8x system.\n\nThe timer-based polling remains, to ensure some amount of responsiveness even\nunder high user process CPU load.\n\nChecking for a stopped timer at rmmod now uses atomics and del_timer_sync() to\nensure safe stoppage.\n\nSigned-off-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d514df7c72830dc018d234db1b6e72fe36946168",
      "old_mode": 33188,
      "old_path": "drivers/char/ipmi/ipmi_si_intf.c",
      "new_id": "fa3be622ca97bbb4796241242126d21c9a825db3",
      "new_mode": 33188,
      "new_path": "drivers/char/ipmi/ipmi_si_intf.c"
    }
  ]
}
