Re: [Qemu-devel] use timer for adding latency to each block I/O

2016-05-26 Thread Huaicheng Li
> On May 16, 2016, at 11:33 AM, Stefan Hajnoczi wrote: > > The way it's done in the "null" block driver is: > > static coroutine_fn int null_co_common(BlockDriverState *bs) > { >BDRVNullState *s = bs->opaque; > >if (s->latency_ns) { >co_aio_sleep_ns(bdrv_get_aio_context(bs), QE

Re: [Qemu-devel] use timer for adding latency to each block I/O

2016-05-16 Thread Stefan Hajnoczi
On Thu, May 12, 2016 at 09:27:42AM -0500, Huaicheng Li wrote: > My goal is to add latency for each I/O without blocking the submission path. > Now > I can know how long each I/O should wait before it’s submitted to the AIO > queue > via a model. Now the question is how can I make the I/O wait f

[Qemu-devel] use timer for adding latency to each block I/O

2016-05-12 Thread Huaicheng Li
Hi all, My goal is to add latency for each I/O without blocking the submission path. Now I can know how long each I/O should wait before it’s submitted to the AIO queue via a model. Now the question is how can I make the I/O wait for that long time before it’s finally handled by worker threads.