That's from the "drive side." From the OS side, the ideal
implementation isn't here yet :)
Ideally there is a DMA ring of taskfiles and scatterlists. The OS
(producer) queues these up asynchrously, and the host+devices
(consumer) executes the taskfiles in the ring. AHCI does this.
With PATA TCQ, we only have a single scatterlist, and are forced to
have more OS-side infrastructure for command queueing, processing, etc.
As an aside, as drives and hosts get faster, we will actually want
_fewer_ interrupts (i.e. interrupt coalescing).
All this points to making the host smarter.
The drives are already pretty damn smart ;-)
Jeff
-
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/