Doug Ledford wrote:
>
> ...
>
> If told to hold a reservation, then resend your reservation request once every
> 2 seconds (this actually has very minimal CPU/BUS usage and isn't as big a
> deal as requesting a reservation every 2 seconds might sound).  The first time
> the reservation is refused, consider the reservation stolen by another machine
> and exit (or optionally, reboot).

I agree that the resend of the reservation is not all that big but there is 
also the proverbial "straw that broke the Camel's back."  When there is enough 
activity there could be logic added to avoid sending reservations.  In all 
cases when a reservation is forcefully removed the result will cause the 
device to return a UNIT ATTENTION (Well, I guess I know that is the behavior 
on Parallel SCSI, is this true for FC?).  So the host should know with the 
next command issued that it lost the reservation (not necessarily that someone 
else has stolen it but that for some reason the device just lost it).  So you 
could "check" to see if within the last 2 seconds (a) has an IO completed and 
(b) every IO that completed in that 2 second span completed without any 
"error".  In error I mean without incident, such as a check condition.  In 
this case the reservation is not needed as you know nothing has happened to 
cause the reservation to be lost.  Perhaps in this heavy load situation you 
could even add logic to issue the reservation as soon as the mid-layer is 
aware that the reservation was broken maybe saving a second or so?

I see this as an enhancement that could be added on later, perhaps keep in 
mind this enhancement so that your initial development does not make it more 
difficult to implement it later.

Eddie


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to