)]}'
{
  "commit": "fa38dfcc56b5f6cce787f9aaa5d1830509213802",
  "tree": "af6c68e248233434cce1b8a4bcf361039aa5ef8f",
  "parents": [
    "b40e43fcc532fa44a375a37d592e32cd0d50fe7a"
  ],
  "author": {
    "name": "Alan Stern",
    "email": "stern@rowland.harvard.edu",
    "time": "Tue May 20 16:59:33 2008 -0400"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Thu May 29 13:59:04 2008 -0700"
  },
  "message": "USB: EHCI: fix performance regression\n\nThis patch (as1099) fixes a performance regression in ehci-hcd.  The\nfundamental problem is that queue headers get removed from the\nschedule too quickly, since the code checks for a counter advancing\nrather than making an actual time-based check.  The latency involved\nin removing the queue header and then relinking it can severely\ndegrade certain kinds of workloads.\n\nThe patch replaces a simple counter with a timestamp derived from the\ncontroller\u0027s uframe value.  In addition, the delay for unlinking an\nidle queue header is increased from 5 ms to 10 ms; since some\ncontrollers (nVidia) have a latency of up to 1 ms for unlinking, this\nreduces the relative impact from 20% to 10%.\n\nFinally, a logical error left over from the IAA watchdog-timer\nconversion is corrected.  Now the driver will always either unlink an\nidle queue header or set up a timer to unlink it later.  The old code\nwould sometimes fail to do either.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Leonid \u003cleonidv11@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "369a8a5ea7bb374da2776dd3a02587b0f58b06fb",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/ehci-hcd.c",
      "new_id": "3e3c5d3ea0ad91f9bb2b0a9ae327089e40c6aad7",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/ehci-hcd.c"
    },
    {
      "type": "modify",
      "old_id": "b85b54160cdaeade20792ad9878d9751606f3b50",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/ehci-q.c",
      "new_id": "5200481deb27725ebecd7c7e9355066fa3b20a32",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/ehci-q.c"
    }
  ]
}
