[dm-devel] [PATCH 4/7] scsi_dh: add EMC Clariion device handler

Chandra Seetharaman sekharan at us.ibm.com
Tue Apr 22 21:09:19 UTC 2008


On Thu, 2008-04-17 at 12:14 -0500, Mike Christie wrote:
> Chandra Seetharaman wrote:
> > On Wed, 2008-04-16 at 11:29 -0500, Mike Christie wrote:
> >> Chandra Seetharaman wrote:
> >>> +
> >>> +static int send_cmd(struct scsi_device *sdev, int cmd)
> >>> +{
> >>> +	struct request *rq = get_req(sdev, cmd);
> >>> +
> >>> +	if (!rq)
> >>> +		return SCSI_DH_RES_TEMP_UNAVAIL;
> >>> +
> >>> +	return blk_execute_rq(sdev->request_queue, NULL, rq, 1);
> >>> +}
> >>> +
> >> My only concerns are:
> >>
> >> 1. EMC and HP need to send a command to every device to transition them. 
> >> Because we do blk_execute_rq from the dm multipath workqueue we can now 
> >> only failover/failback for a couple devices at a time.
> >>
> > 
> >> I am not sure if this is a big deal, because this the error handler path 
> >> so it is going to be slower than the normal path. But it seems like 
> > 
> > Yes. But...
> > 
> > pg_init() due to failover/failback will be sent only when I/O is
> > sent/resent to a multipath device, isn't it ? and we don't expect I/Os
> > to be sent to all the devices at the same time (all the time), do we ?
> > 
> 
> I am not sure what you mean by all the time, because I am talking about 

What I meant was that we do not expect I/Os to be sent to all the
devices at all the times (pg_init will be sent only when I/Os fails on a
path, right ?).

Sorry for not being clear.

> failover times above. And for failover I think I said yes in the 
> previous mail. For EMC we are currently sending failover commands to all 
> the devices at the same time, because EMC does not do the controller 
> failover RDAC does.

RDAC doesn't do controller failover. It also does per lun failover.

> 
> > So, as you pointed, is it a big deal ? :)
> > 
> 
> In the previous mail I specifically said users might care, because they 
> are picky about failover times, real    3m39.728s
user    0m4.135s
sys     0m14.536s

> so the answer is to your question is 
> what I said before, maybe :) I said I am not sure, because I do not have 
> any numbers for the failover times.

Since RDAC also does the failover per device (as is the case with EMC),
I ran tests on about 49 luns. I ran disktest on all the disks at the
same time and disabled/enabled the port to the preferred path to
generate failover and failback.

Let me know what do you think.

Here are the results:
Tests run in an idle system. With 49 luns and the following script:
******************************************************
for i in `ls -1 /dev/mapper/mpath*`
do
	disktest $i -L 4000 -t 100 -P X &
	sleep 1
done

wait
******************************************************
Simple Run:

with patchset:		2.6.25-mm1:
real    3m30.122s	real    3m29.746s
user    0m4.069s	user    0m4.099s
sys     0m14.876s	sys     0m14.535s
-----------------------------------------------

Failover Run:

with patchset:		2.6.25-mm1:
real    5m18.875s	real    5m31.741s
user    0m4.069s	user    0m3.883s
sys     0m14.838s	sys     0m13.822s
-----------------------------------------------

Failback Run:

with patchset:		2.6.25-mm1*:
real    4m50.313s	real    3m39.728s
user    0m4.051s	user    0m4.135s
sys     0m14.809s	sys     0m14.536s

* In 2.6.25-mm1 not all paths failed back for I/Os to
be completed due to the delay/failures during probing
(which is being handled in the new patchset)
-----------------------------------------------

> 
> > BTW, As you know, it was originally coded that way(patchset posted on
> > Jan 23, 2008) and later changed as per James comments (through you) that
> > the code was overusing blk_execute_rq_nowait().
> >  
> 
> Yes, I know, and as you know I did not agree with James. The reason I 
> bring it up again is that Ed is not doing dm-multipath stuff, so EMC 
> does not have a good reviewer right now, and I want to make sure these 
> issues are raised on the list during the review so we can all discuss 
> them together.
> 
> If James thinks it is a big enough problem he can offer some of this 
> alternatives. If not then he will merge it and we can see if people even 
> notice and handle it later. I just want to make sure we all know what is 
> going on, because Alasdair is not a scsi guy. James does not know all 
> the fun details of every box. And the EMC guys are not up to speed on 
> linux. I am just worried we are going to get a bad review.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html




More information about the dm-devel mailing list