cpuio engine cpuload bug fix
[fio.git] / engines / cpu.c
index 14ad9717aa5fbd024a7e9f286a36fd79542c6365..322dfde7412d9df075132bb8e3bd17c4ad713792 100644 (file)
@@ -9,7 +9,12 @@
 
 static int fio_cpuio_queue(struct thread_data *td, struct io_u fio_unused *io_u)
 {
-       __usec_sleep(td->o.cpucycle);
+       usec_spin(td->o.cpucycle);
+
+       if (io_u->buflen == 0)
+               io_u->buflen = 1;
+       io_u->resid = 0;
+
        return FIO_Q_COMPLETED;
 }
 
@@ -48,7 +53,7 @@ static struct ioengine_ops ioengine = {
        .queue          = fio_cpuio_queue,
        .init           = fio_cpuio_init,
        .open_file      = fio_cpuio_open,
-       .flags          = FIO_SYNCIO | FIO_DISKLESSIO,
+       .flags          = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NOIO,
 };
 
 static void fio_init fio_cpuio_register(void)