/sys/block/xxx/queue/中的max_hw_sectors_kb 和 max_sectors_kb

在一次调试快照驱动的时候,打印bio时发现max_sectors_kb会影响一个bio的最大大小。
max_hw_sectors_kb:单个数据传输中硬件(如磁盘)最大支持多少KB的数据。
max_sectors_kb: 一次请求中block 层最大支持多少KB数据,<= max_hw_sectors_kb。


以一块sata磁盘为例:
cat /sys/block/sda/queue/max_sectors_kb
512

一个bio中bio_vec 最大为128个,每个ve_len为4096。128 * 4KB = 512KB,与max_sectors_kb吻合。


参考:
[1]Linux/Documentation/block/queue-sysfs.txt

你可能感兴趣的:(数据存储)