Skip to content

scsi_dh: Make scsi_dh_activate asynchronous

Chandra Seetharaman dm-devel linux-scsi 1 version In review

Get series with b4
b4 am 20091021162240.8473.99556.sendpatchset@chandra-ubuntu

Versions newest first

  1. v1 Latest4 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4scsi_dh: Change the scsidh_activate interface to be asynchronousdrivers/md/dm-mpath.c drivers/scsi/device_handler/scsi_dh.c drivers/scsi/device_handler/scsi_dh_alua.c +5 more+42 -202 replies
2/4scsi_dh: Make rdac hardware handler's activate() asyncdrivers/scsi/device_handler/scsi_dh_rdac.c+100 -81 reply
3/4scsi_dh: Make hp hardware handler's activate() asyncdrivers/scsi/device_handler/scsi_dh_hp_sw.c+54 -330 replies
4/4scsi_dh: Make alua hardware handler's activate() asyncdrivers/scsi/device_handler/scsi_dh_alua.c+73 -590 replies

Reviews trailers per patch

None of the 4 patches has a Reviewed-by or Acked-by.

PatchBabuBabu Moger
1/4T-b T-b
2/4T-b
3/4
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/4] scsi_dh: Make scsi_dh_activate asynchronous

Hello All,

Currently, device handlers process path activation in series. This leads to a lot of time delay when more than 100 luns are involved. For example, with lsi rdac 100+ luns take about 12-15 minutes. This was found by Moger Babu of LSI.

This time delay can be avoided if we can do the activations asynchronously. By making scsi_dh_activate() async, we can give the device handlers an oppurtunity to decide on how to send the device activation down the wire to make the turn around time faster. They can send the commands asynchronously or send them in batches.

I brought up this issue on the mailing list
(http://marc.info/?l=linux-scsi&m=123888063818755&w=2) and provided a set of patch a loooong while back http://marc.info/?l=linux-scsi&m=124088712709821&w=2

I posted another set of patches against 2.6.31 on 2009/09/29:
http://marc.info/?l=linux-scsi&m=125427648406736&w=2

This set of patches applies cleanly on 2.6.32-rc5 and I tested the rdac handler and alua handler on the same.

Please review and provide comments.

This set of patched adds asynchronous support for rdac, hp, and alua handlers.

Didn't add async support for EMC for the following reasons:
- EMC handler is getting more hairy (when I try to move to _nowait())
- I do not know if EMC has a special command to group them (like rdac).
- I wasn't sure if EMC has this problem in the first place ( I did not get any response from EMC).

Can somebody from EMC comment, please.

Thanks & Regards,

chandra