[SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking
commitb90f90d2303f27b9b241ab78419a07b41de5ac62
authorSalyzyn, Mark <mark_salyzyn@adaptec.com>
Fri, 27 Jul 2007 13:48:49 +0000 (27 09:48 -0400)
committerJames Bottomley <jejb@mulgrave.localdomain>
Sat, 28 Jul 2007 14:09:07 +0000 (28 10:09 -0400)
treefe609680bf9030fdebe38928dc05ca9d0f553590
parent80b1c7bdc1cc69a804f416761f5faafcb6284086
[SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking

Customer running an application that issues SYNCHRONIZE_CACHE calls
directly noticed the broad stroke of the current implementation in the
aacraid driver resulting in multiple applications feeding I/O to the
storage causing the issuing application to stall for long periods of
time. By only waiting for the current WRITE commands, rather than all
commands, to complete; and those that are in range of the
SYNCHRONIZE_CACHE call that would associate more tightly with the
issuing application before telling the Firmware to flush it's dirty
cache, we managed to reduce the stalling. The Firmware itself still
flushes all the dirty cache associated with the array ignoring the
range, it just does so in a more timely manner.

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/aacraid/aachba.c