Yes, I agree - it should be per physical device - we could take
SD_TIMEOUT as a default, and allow the low-level controllers to modify this
as required. This could be handled by adding a field to the Scsi_Device
structure.
I am not sure what you would want to do if the upper level driver (i.e.
sg) wanted an even larger timeout. My guess is that you take the maximum
value of what the upper level driver wants and the value in SDpnt.
-Eric
----- Original Message -----
From: "Doug Ledford" <[EMAIL PROTECTED]>
To: "Boerner, Brian" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Wednesday, June 28, 2000 2:22 PM
Subject: Re: Discussion to change SD_TIMEOUT in the sd driver
> "Boerner, Brian" wrote:
> >
> > I would like to know peoples thought on making a change to the sd
driver.
> > Specifically changing the
> > SD_TIMEOUT value from a define to a variable.
> >
> > Reasons:
> > #define SD_TIMEOUT (30 * HZ)
> >
> > This hard coded value of 30 seconds is to short for some hardware raid
> > devices. In most cases,
> > active fail over takes place long before the 30 second threshold,
however if
> > the adapter is particularly
> > busy, this can sometimes take a bit longer. The end result is a kernel
> > panic.
> >
> > I propose changing this to a variable:
> > int sd_timeout = 30 * HZ;
> >
> > This allows other drivers (megaraid, aacraid, etc.) to extend this, thus
> > allowing fail over to take place
> > without interrupting the system.
> >
> > if (sd_timeout < (60 * HZ) {
> > sd_timeout = (60 * HZ);
> > }
> >
> > It looks like the other scsi drivers use their own timeout values.
However,
> > most HW Raid adapters
> > depend on the scsi disk driver for such values.
> >
> > Do people have any strong objections to this? I'll certainly make the
> > changes, I just want to hear
> > the good, the bad, and the ugly.
>
> If you're going to do the work, then make the timeout on a per controller
> basis (I suppose it should actually be on a per device basis when I think
> about it). Maybe add it to the sd disk structs. Then the low level
driver
> can say "Hey, this is a hardware raid logical volume, I'll make it have a
> timeout of 60 seconds" or they can say "this is a passthrough device, 10
> seconds is a plenty long timeout". I for one would take the aic7xxx
driver
> and modify the timeout values back down to about 8 seconds on it's
devices.
> That's more than enough time for any command it sends to complete. Then
the
> hardware raid controller drivers are free to do what they want and they
can
> also timeout logical volumes different from pass through disk devices
> (assuming that they are supported and are treated differently on a
particular
> brand of hardware raid controller).
>
> --
>
> Doug Ledford <[EMAIL PROTECTED]> http://people.redhat.com/dledford
> Please check my web site for aic7xxx updates/answers before
> e-mailing me about problems
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to [EMAIL PROTECTED]
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/