Re: [ANNOUNCE] Native Linux KVM tool v2
From: Anthony Liguori
Date: Fri Jun 17 2011 - 09:45:39 EST
On 06/16/2011 08:03 PM, Sasha Levin wrote:
On Thu, 2011-06-16 at 17:50 -0500, Anthony Liguori wrote:
Each virtio-blk device can process requests regardless of other
virtio-blk devices, which means that we can do parallel requests for
devices.
Within each device, we support parallel requests in the sense that we do
vectored IO for each head (which may contain multiple blocks) in the
vring, we don't do multiple heads because when I've tried adding AIO
A scatter/gather list isn't multiple requests, it's just one. So you
handle one request at a time ATM. There's nothing with that, but
there's no use in saying "we support it in the sense..." :-)
I've noticed that at most there are 2-3 possible heads - and since it
points to the same device it doesn't really help running them in
parallel.
Sure it does. If you use the host page cache (and you do), then if you
have two requests, A and B, and request A requires a disk access and
request B can be satisfied from the page cache, then being able to
submit both requests means that you can return B almost immediately
instead of stalling out to finish A before starting B.
Not to mention that modern disks work better with multiple in flight
requests because they have their own cache and reordering algorithms in
the drives cache. With RAID and higher end storage devices, a single
device may map to multiple spindles. The only way to have them all spin
at once is to submit parallel requests.
Regards,
Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/