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 21:40:18 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Samuel Thibault wrote:
it should be centralized in the block layer instead of placing the
burden on all block format drivers ;)
If other drivers need to do that, certainly.
In our case the other driver is specific to Xen.
I'm confused.  I can only count one driver which has limited dma size.

Then you are not looking at the same place as I am. The Xen tree is at
http://xenbits.xensource.com/git-http/qemu-xen-unstable.git

I wasn't looking at any tree. I count one driver with limited DMA sizes - block-vbd. What's the other one? Forgive me for not cloning and rummaging in qemu-xen.

One thing for instance that still have been overlooked although patches
have been sent is block-raw-posix' read/write_pread_aligned() that
consider partial read/writes as an error.  That's a bug.
Right.  Unrelated topic though?
Nope.  It's exactly the issue: read/write() may not be able to perform
the whole operation in just one go, and qemu should continue in that
case.
Oh, you're overloading block-raw-posix?

I'm not.  Actually, I am _also_ implementing the read/write() functions,
but that's another matter.  In the xen tree, there is an addition
block-vbd.c driver.  I'm here just pointing out that the problem is not
_only_ in the xen-specific driver, but also in the posix driver, on any
OS that doesn't necessarily do all the work the caller asked for (which
is _allowed_ by POSIX).

But that's not limited DMA (or at least, not limited up-front). And it's easily corrected, place a while loop around preadv/pwritev, no need to split a request a priori somewhere up the stack. IDE_MAX_DMA_BUFFER (or however it's called) wouldn't help here.

And it wouldn't be right for block-vbd - you should split your requests as late as possible, IMO.


--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.





reply via email to

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