[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] [Qemu-devel] About the IO queue inside qemu
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-discuss] [Qemu-devel] About the IO queue inside qemu |
Date: |
Wed, 2 Oct 2013 12:16:37 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Oct 02, 2013 at 01:28:11AM -0500, Yaodong Yang wrote:
> I'm wondering is there any io queue inside qemu? Is there any IO scheduling
> inside it? I notice that there is an IO track feature inside block.c, but I
> do not know the purpose of it. Could someone explain it for me? Thanks a lot!
There are two queues:
1. Throttled requests. Used by the I/O throttling feature (-drive
iops=5000). Requests need to be suspended until there is enough
budget for them.
2. Tracked requests. This is a generic queue that is used by the
copy-on-read feature to prevent corruption when the guest writes to a
sector that is currently being copied.
There is also an API to batch writes so they can be merged. virtio-blk
uses this and may therefore change the I/O pattern.
Stefan