)]}'
{
  "commit": "c50a898fd4e736623ee175920db056194e0bb483",
  "tree": "271750360d57da1d982686d8435b8eb3bf3086e4",
  "parents": [
    "cc60f8878eab892c03d06b10f389232b9b66bd83"
  ],
  "author": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Wed Oct 13 15:43:10 2010 -0700"
  },
  "committer": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Wed Oct 13 15:43:10 2010 -0700"
  },
  "message": "ioat2: fix performance regression\n\nCommit 0793448 \"DMAENGINE: generic channel status v2\" changed the interface for\nhow dma channel progress is retrieved.  It inadvertently exported an internal\nhelper function ioat_tx_status() instead of ioat_dma_tx_status().  The latter\npolls the hardware to get the latest completion state, while the helper just\nevaluates the current state without touching hardware.  The effect is that we\nend up waiting for completion timeouts or descriptor allocation errors before\nthe completion state is updated.\n\niperf (before fix):\n[SUM]  0.0-41.3 sec   364 MBytes  73.9 Mbits/sec\n\niperf (after fix):\n[SUM]  0.0- 4.5 sec   499 MBytes   940 Mbits/sec\n\nThis is a regression starting with 2.6.35.\n\nCc: \u003cstable@kernel.org\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nReported-by: Richard Scobie \u003crichard@sauce.co.nz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "216f9d383b5b7b1b0a4d2062c388518a7270de55",
      "old_mode": 33188,
      "old_path": "drivers/dma/ioat/dma_v2.c",
      "new_id": "effd140fc042b827617bebce013dae190c7b4d76",
      "new_mode": 33188,
      "new_path": "drivers/dma/ioat/dma_v2.c"
    }
  ]
}
