With ordered tags, at least we get the benefit of not having to wait on all
the commands before the write barrier.
It's annoying to have to let the all the command queues empty, but it's hard
to see what can be done about that, the synchronization *has* to be global.
In this case, all we can do is to be sure to respond quickly to the command
completion interrupt. So the unavoidable cost is one request's worth of bus
transfer (is there an advantage in trying to make it a small request?) and
the latency of the interrupt. 100 uSec?
In the meantime, if I am right about being able to have multiple queues per
disk, reads can continue. It's not so bad.
The only way I can imagine of improving this is if there's a way to queue
some commands on the understanding they're not to be carried out until the
word is given. My scsi-fu is not great enough to know if there's a way to do
this. Even if we could, it's probably not worth the effort, because all the
drives will have to wait for the slowest/most loaded anyway.
That's life.
-- Daniel - 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/