Tejun Heo wrote:
Jeff Garzik wrote:
I'm still not sure I follow you?
When AHCI runs out of commands to execute, it transitions from H:Idle
to Ccc:SetIS.
IMPORTANT NOTE: In order for CCC to be effective on AHCI, ahci.c and
libata (and sata_sil24) must be updated to support queuing a list of
non-NCQ commands onto the controller, and recovering from errors in
the case where a command list full of non-NCQ commands is present.
I thought about it but am not really sure whether it's worth the
trouble. We'll be saving on inter-command latency and interrupt
handling which is great but not so sure how noticeable the improvement
would be. NCQ is already all around. How about doing CCC only during
NCQ command phase?
Hmmm... maybe those SSDs would benefit from CCC during non-NCQ commands
though if they don't support NCQ, which they don't really need.
If we're gonna do it. EH needs only a few changes probably during
autopsy and report. Fixing up command issue path and implementing
command exclusion (NCQ vs. non-NCQ, sil24 does it in hardware, ahci
doesn't) will be a bit complex though.
--
tejun
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html