镇水铁牛 发表于 2015-02-06 21:41

direct io在submit后不在elevator中合并?

从代码中看,direct io和普通的IO貌似在submit后,在blk_queue_bio没什么处理差异,按照逻辑bio生成req中,是有机会合并啊,但是最终下发给LLDD时,direct IO的大小不变,即在elevator中没有进行合并,why?

humjb_1983 发表于 2015-02-10 08:31

如何看出没有合并?

镇水铁牛 发表于 2015-02-10 21:22

回复 2# humjb_1983
我在hba的queuecmd的入口处,打印scsi cmd,发现当direct io时,scmd的大小不变,但是buffer io时,单个scmd的最大能到4MB。关于io是否有合并,我用blktrace看了下,也是同样的结论。
我现在不明白为什么direct io 不合并。
   

humjb_1983 发表于 2015-02-11 09:01

没有试过,打点跟下流程吧。呵呵
页: [1]
查看完整版本: direct io在submit后不在elevator中合并?