[SCSI] scsi_dh: Make rdac hardware handler's activate() async
authorChandra Seetharaman <sekharan@us.ibm.com>
Wed, 21 Oct 2009 16:22:51 +0000 (09:22 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 4 Dec 2009 18:00:47 +0000 (12:00 -0600)
commit970f3f47e7c97c0bfe9f91356943b55ac389cb1d
treedab9946544c452937d165239df74d667d16bddf9
parent3ae31f6a7b6e442fc6a92f29330fbad230dc3992
[SCSI] scsi_dh: Make rdac hardware handler's activate() async

Batch up MODE_SELECT in rdac device handler.

LSI RDAC storage has the capability of handling mode selects for
multiple luns in a same command. Make use of that ability to send
as few MODE SELECTs as possible to the storage controller as possible.

This patch creates a work queue and queues up activate requests
when a MODE SELECT is sent down the wire. When that MODE SELECT
completes, it compiles queued up activate requests for multiple
luns into a single MODE SELECT.

This reduces the time to do failover/failback of large number of LUNS.

Signed-off-by: Babu Moger <babu.moger@lsi.com>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/device_handler/scsi_dh_rdac.c