[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/6] change vectored block I/O API to plain iove
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH 2/6] change vectored block I/O API to plain iovecs |
Date: |
Sun, 15 Mar 2009 17:35:38 +0100 |
User-agent: |
Mutt/1.3.28i |
On Sun, Mar 15, 2009 at 05:07:59PM +0200, Avi Kivity wrote:
> QEMUStaticIOVector qiov;
>
> qemu_static_iovector_init(&qiov, data, len);
> some_random_function(&qiov.iov, ...);
>
> Of course we need not to free non-owned iovecs.
That means more wasted space in every iocb, more special cases
needed in the QEMUIOVector to deal with the static allocation special
case, etc.
I still haven't seen an actual benefit of using the QEMUIOVector at that
level.
> They allow dropping two extra parameters, but I agree no huge benefit.
> I still like them.
I think they are good for the use case of actually dynamically building
iovecs in the dma helper case. They just aren't the right interface
for the block level API. Given that no one underneath that API is
going to add more elements to the iovec there's no good reason to
carry the memory allocation details around.
[Qemu-devel] [PATCH 3/6] virtio-blk: use generic vectored I/O APIs, Christoph Hellwig, 2009/03/14
[Qemu-devel] [PATCH 4/6] remove bdrv_aio_read/bdrv_aio_write, Christoph Hellwig, 2009/03/14
[Qemu-devel] [PATCH 5/6] push down vector linearization to posix-aio-compat.c, Christoph Hellwig, 2009/03/14
[Qemu-devel] [PATCH 6/6] experimental native preadv/pwritev support for Linux, Christoph Hellwig, 2009/03/14
Re: [Qemu-devel] [PATCH 6/6] experimental native preadv/pwritev support for Linux, Gerd Hoffmann, 2009/03/16