ioat3: interrupt coalescing
authorDan Williams <dan.j.williams@intel.com>
Thu, 4 Mar 2010 04:21:13 +0000 (21:21 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 4 Mar 2010 04:21:13 +0000 (21:21 -0700)
commitb9cc98697d1ca35a86bbb708acc6d93993c28f0f
tree22bace58c86068483209b8b2d9a2b6238eb0c179
parentaa75db0080603bae27961c0502812dfd0f522bb3
ioat3: interrupt coalescing

The hardware automatically disables further interrupts after each event
until rearmed.  This allows a delay to be injected between the occurence
of the interrupt and the running of the cleanup routine.  The delay is
scaled by the descriptor backlog and then written to the INTRDELAY
register which specifies the number of microseconds to hold off
interrupt delivery after an interrupt event occurs.  According to
powertop this reduces the interrupt rate from ~5000 intr/s to ~150
intr/s per without affecting throughput (simple dd to a raid6 array).

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ioat/dma_v3.c
drivers/dma/ioat/registers.h