On 04/16/2015 03:47 PM, Don Brace wrote: > From: Stephen Cameron <stephenmcameron@xxxxxxxxx> > > Do not send aborts to logical devices that do not support aborts > > Instead of relying on what the Smart Array claims for supporting logical > drives, simply try an abort and see how it responds at device discovery > time. This way devices that do support aborts (e.g. MSA2000) can work > and we do not waste time trying to send aborts to logical drives that do > not support them (important for high IOPS devices.) > > While rescanning devices only test whether devices support aborts > the first time we encounter a device rather than every time. > > Some Smart Arrays required aborts to be sent with tags in > the wrong endian byte order. To avoid having to know about > this, we would send two aborts with tags with each endian order. > On high IOPS devices, this turns out to be not such a hot idea. > So we now have a list of the devices that got the tag backwards, > and we only send it one way. > > If all available commands are outstanding and the abort handler > is invoked, the abort handler may not be able to allocate a command > and may busy-wait excessivly. Reserve a small number of commands > for the abort handler and limit the number of concurrent abort > requests to the number of reserved commands. > > Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> > Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> > Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Tomas -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html