qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] honor IDE_DMA_BUF_SECTORS


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH] honor IDE_DMA_BUF_SECTORS
Date: Thu, 26 Mar 2009 12:57:36 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Stefano Stabellini wrote:
Unfortunately that is not really helpful: after the split done by
cpu_physical_memory_map the iovector is converted in a buffer in
bdrv_aio_rw_vector and then the full length of the buffer is passed on
to the bdrv_aio_write\read for the dma operation.

I need a way to set a maximum limit for the total number of sectors in
the dma operation, much like blk_queue_max_phys_segments in the kernel.

This could also be useful to make sure that we don't allocate bounce
buffers bigger than a predetermined limit.

If cpu_physical_memory_map() returns NULL, then dma-helpers.c will stop collecting sg entries and submit the I/O. Tuning that will control how vectored requests are submitted.

If you problem is specifically with the bdrv_aio_rw_vector bounce buffer, then note that this is a temporary measure until vectored aio is in place, through preadv/pwritev and/or linux-aio IO_CMD_PREADV. You should either convert to that when it is merged, or implement request splitting in bdrv_aio_rw_vector.

Can you explain your problem in more detail?

--
error compiling committee.c: too many arguments to function





reply via email to

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