STAT传输最大值

    Jeff Garzik提交了一个libata的补丁,增加了发送给SATA设备数据请求的最大值。他说“这个简单的补丁把数据请求的最大值从128k增大到32M,你可以想象这会带来不少好处。吞吐量会提供,中断会减少。”这导致了一长串有趣的争论。

    争论的一方是Nick Piggin,Jens Axboe和Andrea Arcangeli,他们质疑这么大幅度增加请求的尺寸会有导致延迟的增加,带来明显的负面影响。Nick解释“我认为32MB太大了,你会导致延迟和调度失效我。我打赌小一点,例如1MB会好很多。”Jens Axboe也同意,他提醒驱动程序有设备的限制。他说“据个floppy.c的例子,我的确就不需要1MB的请求,因为满足完成要求需要好多分钟。我也不需要1MB的要求在我的Super-ZXY存储器,因为这个设备最好的输入输出速度是200MB/sec”

    Jeff Garzik不同意这种说法,他建议驱动程序请求尺寸应该尽可能的大,管理者可以调节用户空间。他说“用户们不太会修改源代码来调节最大尺寸,这就需要有个决策。目前这个常数是否“正确”对驱动程序无足轻重。随着时间的过去,磁盘运行会越来越快,延迟变少。驱动程序里“正确”的定义会始终不断调整,我不想障碍那些想让SATA全速运行的用户;-)”