> > Not necessarily. Scheduling and complicated error recovery is a property
> > of interactions with the whole system- not one bus.
> Example ?


I'll assume you asked for generalized scenarios. If you want a specific
example, I'll think harder and generate one.


Scheduling/Generalized Example:

The number of commands that can be usefully outstanding per nexus (i/t/l) 
is determined by knowledge gathered per SCSI bus (tags outstanding for the
target/lun side, HBA transport resources known by the HBA), but the
number of commands that can be usefully and correctly set outstanding per
system is known by the system- not one HBA (amount of I/O mapping
resources still available for systems that need this, proper scheduling of
multiple busses, etc.).

In short, correct scheduling policy is set by the overall system with
per-bus information being only one factor in the equation.

It's possible that the overall ll_rw_blk function could do this job, but
in order to do it right, it would have to take on all of the factors
listed above rather than the current demand driven model.

Error Recovery/Long term example:

I have a multipath arrangement with two Fibre Channel busses. One card
gets kicked off the loop (cable breaks, whatever). The queue for that card
is blocked while it tries to get back on the loop. A reasonable overall
scheduler would shift the I/O to the alternate path. 

[ this is a bit of a stretch- hrmm, maybe error recovery is less of a
whole system property in the more common cases ]




-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to