[SCSI] isci: dynamic interrupt coalescing
authorDan Williams <dan.j.williams@intel.com>
Sat, 30 Jul 2011 00:17:10 +0000 (17:17 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 24 Aug 2011 03:04:42 +0000 (20:04 -0700)
commit9b4be528999483d70a1ffc0accd102e477d5a503
tree9b868ca20a761b20af3ba79a168b42acb109922f
parent39ea2c5b5ffaa344467da53e885cfa4ac0105050
[SCSI] isci: dynamic interrupt coalescing

Hardware allows both an outstanding number commands and a timeout value
(whichever occurs first) as a gate to the next interrupt generation.  This
scheme at completion time looks at the remaining number of outstanding tasks
and sets the timeout to maximize small transaction operation.  If transactions
are large (take more than a few 10s of microseconds to complete) then
performance is not interrupt processing bound, so the small timeouts this
scheme generates are overridden by the time it takes for a completion to
arrive.

Tested-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/isci/host.c
drivers/scsi/isci/host.h