On Wed, Dec 10, 2008 at 7:33 AM, Tejun Heo <htejun@xxxxxxxxx> wrote: ... > And yeap we definitely should try to do that too but I don't think > RW_SG would be as useless as jumbo frames (much less compatibility > problem and no loss of functionality), Jumbo frames aren't useless. They just don't apply to the "small message passing overhead" problem. Users doing bulk data transfer (NAS, FTP, etc) are pretty happy with TCP Segmentation Offloading (cousin of Jumbo Frames). > and the actual hardware > overhead of issuing separate commands for each 4k segment is way > higher than anything we do along the block and low level driver layers > in terms of IO access, host bus and ATA (or SAS) bus overhead. That's true and it was also true gigabit NICs in the 90's. NIC HW vendors have figured out host to avoid doing MMIO reads/writes during normal IO. Infiniband has an even more efficient interface that's mostly Host RAM based (a few MMIO writes). Last time I measured (~2006), TCP stack was 4x the CPU cost of the HW interface. I don't know what the current ratio is for any given SATA controller vs libata/SCSI stack, but I'm certain it will change as new controllers are introduced. hth, grant -- To unsubscribe from this list: 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