Re: aic7xxx sets CDR offline, how to reset?

James Bottomley
2002-09-04T16:13:54Z

dledford@redhat.com said:
> Now, granted, that is more complex than going straight to a BDR, but I
> have to argue that it *isn't* that complex. It certainly isn't the
> nightmare you make it sound like ;-)

It's three times longer even in pseudocode...

However, assume we do this (because we must for barrier preservation). The
chances are that for a failing device we're aborting a significant number of
the tags. This is quite a big increase in the message load over what we do
now---Particularly for the AIC driver which can have hundreds of tags
outstanding (murphys law says it's usually the earilest tag which times out).
I'm not convinced that a BDR, which is a single message and has roughly the
same effect, isn't preferable.

However, what about a compromise? We can count outstanding commands, so what
about doing abort *if* the number of outstanding commands is exactly one (the
one we're trying to abort). This means for devices that don't do TCQ (like
old CD-ROMs) we'll always try abort first. For large numbers of outstanding
tags, we skip over abort and move straight to BDR. The code to implement this
will be clean and simple because abort no longer has to pay attention to the
barrier.

James