我目前正在做塊驅動程序。我注意到在我的測試中,如果我的平臺是 是RHEL6.x/CentOS6.x,我的結構請求的開始 LBA /扇區始終與8對齊(例如0,8,0x10,0x100,0x2508等) 實際上是我設計的驅動程序和固件的最佳選擇。看起來 結構請求總是在那裏對齊。從結構請求LBA開始地址對齊
在另一方面,如果測試我的司機在一些比較老的系統,如Oracle 5.6, 起始LBA爲結構的請求,這似乎並沒有被對準 8 - 該LBA被offseted大多數情況下(如0x2507,300F ,0x95bd500f, 等)
我的塊隊列設置甚至從sysfs中尋找表明,我的 邏輯塊的大小和物理塊大小分別爲512和512, 。所以我不認爲這與4kB 部門有關。可能會觸發這種行爲的設置是什麼?是 有一個請求隊列或gendisk設置,控制這個,我可能 不知道?或者這是由FS層決定的?希望有人 可以指出。
謝謝!
*「所以我不認爲它與4kB扇區有關」* - 爲什麼不呢?你有沒有聽說過「向前兼容」?或者當扇區大小爲4K字節時512B /扇區仿真的最佳性能如何?閱讀http://www.seagate.com/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/ – sawdust 2014-12-07 23:35:03
嗯,我認爲,因爲我的sysfs條目讀取邏輯和物理兩個512字節塊並沒有提及4kb。其他條目,如alignment_offset,minimum_io_size和optimal_io_size分別爲0,512,0。無論你如何建議可能值得研究,我如何驗證在我的新系統中實現向前兼容性?所以我會在我的舊系統中實現它,比如oel 5.6。 – ubermensch 2014-12-09 02:34:34