[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT |
Date: |
Mon, 23 Mar 2009 13:29:28 -0400 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Mar 23, 2009 at 12:14:58PM -0500, Anthony Liguori wrote:
> I'd like to see the O_DIRECT bounce buffering removed in favor of the
> DMA API bouncing. Once that happens, raw_read and raw_pread can
> disappear. block-raw-posix becomes much simpler.
See my vectored I/O patches for doing the bounce buffering at the
optimal place for the aio path. Note that from my reading of the
qcow/qcow2 code they might send down unaligned requests, which is
something the dma api would not help with.
For the buffered I/O path we will always have to do some sort of buffering
due to all the partition header reading / etc. And given how that part
isn't performance critical my preference would be to keep doing it in
bdrv_pread/write and guarantee the lowlevel drivers proper alignment.
> We would drop the signaling stuff and have the thread pool use an fd to
> signal. The big problem with that right now is that it'll cause a
> performance regression for certain platforms until we have the IO thread
> in place.
Talking about signaling, does anyone remember why the Linux signalfd/
eventfd support is only in kvm but not in upstream qemu?
Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT, Christoph Hellwig, 2009/03/23