qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool


From: Andrea Arcangeli
Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool
Date: Fri, 12 Dec 2008 19:26:34 +0100

On Fri, Dec 12, 2008 at 12:17:58PM -0600, Anthony Liguori wrote:
> You assume that anything using bdrv_aio_readv/writev will be going through 
> a DMA API.  This isn't a safe assumption.

Well it's obviously a safe assumption right now... ;)

I've an hard time seeing any 'metadata' (because _data_ will be
guaranteed to always pass through the dma api if it wants to be
vectored) being physically contiguous on disk but not contiguous on
ram.

> Furthermore, you need some way to communicate the fact that you cannot 
> handle iovcnt > 1 iovecs in a performant/safe way.

assert(iovcnt == 1) will work fine. If somebody changes some backend
like qcow2 to call bdrv_aio_readv/writev they'll get an assert and
they'll ask for a compatibility layer. I don't see any urgency to add
it immediately and I think assert(iovcnt==1) is more preferable until
any user emerges asking for bdrv_aio_readv/writev as it'll function as
a debug trap to be sure all works right.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]