直接デバイスでの使用に関するlibaioのドキュメントには、読み取りオフセットと書き込みオフセットはセクターに整列する必要があると記載されています。たとえば、典型的なSSD / HDDでは512バイトの倍数です。Web で入手できる情報の一部には、ソースと宛先として使用されるユーザー空間バッファーも調整する必要があると書かれています。
直接デバイスを使用する場合、ベクトルの読み取り関数と書き込み関数のアラインメントの制限は何ですか? 私は、操作のディスク側は依然としてセクターを揃える必要があると思います (結局のところ、カバーの下でブロックデバイスと通信しています)。スキャッター ギャザー リストは、小さなチャンクをユーザー空間内の整列していないターゲットに分散させることができますか?
私は debian Jessie に取り組んでおり、libaio でのベクトル I/O のサポートを確認しました。