gpt4 book ai didi

c++ - libaio的vector读写函数可以在direct设备上使用吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:30:18 24 4
gpt4 key购买 nike

关于与直接设备一起使用的 libaio 文档说读写偏移必须扇区对齐,例如典型 SSD/HDD 的 512 字节的倍数。网络上提供的一些信息还表明,用作源和目标的用户空间缓冲区也需要对齐。

使用direct device时vector读写函数有哪些对齐限制?我假设操作的磁盘端仍然需要扇区对齐(毕竟它是在与幕后的 block 设备对话)。我的分散收集列表能否将小块散布到用户空间中的非对齐目标?

我正在开发 debian Jessie,并且已经验证了 libaio 对 vector I/O 的支持。

最佳答案

通过编写一些测试代码建立的简短答案是否定的。传输的磁盘端和内存端都必须扇区对齐。非扇区对齐操作事件中返回的错误代码为 -22(未知错误)。

如果这能奏效,那会很有趣。底层硬件(SSD 和 AHCI 兼容 Controller )能够执行 DMA 到/从任何偶数地址。

关于c++ - libaio的vector读写函数可以在direct设备上使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com