什么可能会减慢发送到Linux上的硬盘驱动器的ATA读取验证命令?

时间:2015-02-26 15:09:08

标签: linux hard-drive ioctl ata

我正在编写一个C程序,在Linux上使用ATA read-verify(0x40)命令扫描硬盘,就像MHDD扫描在DOS上所做的那样。

我使用HDIO_DRIVE_TASK发出命令,并使用CLOCK_MONOTONIC测量ioctl的阻塞时间。
我以root身份运行程序,并将其ionice设置为实时,但读数总是大于MHDD显示的值。此外,MHDD的结果并没有太大变化,但我的计划结果往往变化很大 我尝试为每个块发出两次命令,并测量第二次运行的块时间。 这解决了部分问题,但我的结果仍然存在很大差异。

哪些因素可能会减慢我的命令?我该如何避免它们?

P.S。我有一些不同运行状况的备用驱动器用于测试用途。

0 个答案:

没有答案