On Fri, Jun 09 2006, 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? Fully agree, doing CCC on non-ncq sounds like a very silly thing to do. Ugly complexity for very little (and questionable) gain. I'm not a big fan of CCC in generel, to me it seems to have bigger potential to cause you latency than save you interrupt processing time. I'm not saying there aren't cases where CCC would be a win, but I see a lot more cases where it definitely wont be. And it's a classic case of having to implement policy, so it's surely get it wrong here and there. -- Jens Axboe - : 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