Messages in this thread | | | Subject | Re: aic7xxx sets CDR offline, how to reset? | Date | Wed, 04 Sep 2002 11:13:54 -0500 | From | James Bottomley <> |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |