From: Avi Kivity <avi@redhat.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] honor IDE_DMA_BUF_SECTORS
Date: Thu, 26 Mar 2009 21:40:18 +0200 [thread overview]
Message-ID: <49CBDA22.3070600@redhat.com> (raw)
In-Reply-To: <20090326184814.GC5458@const.famille.thibault.fr>
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.
next prev parent reply other threads:[~2009-03-26 19:39 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-25 13:45 [Qemu-devel] [PATCH] honor IDE_DMA_BUF_SECTORS Stefano Stabellini
2009-03-25 15:22 ` Avi Kivity
2009-03-25 16:19 ` Stefano Stabellini
2009-03-25 16:45 ` Avi Kivity
2009-03-25 16:50 ` Stefano Stabellini
2009-03-25 17:47 ` Stefano Stabellini
2009-03-26 10:23 ` Avi Kivity
2009-03-26 10:31 ` Stefano Stabellini
2009-03-26 10:57 ` Avi Kivity
2009-03-26 11:45 ` Stefano Stabellini
2009-03-26 12:10 ` Avi Kivity
2009-03-26 12:28 ` Stefano Stabellini
2009-03-26 12:47 ` Samuel Thibault
2009-03-26 12:58 ` Avi Kivity
2009-03-26 15:30 ` Samuel Thibault
2009-03-26 18:32 ` Avi Kivity
2009-03-26 18:48 ` Samuel Thibault
2009-03-26 19:40 ` Avi Kivity [this message]
2009-03-26 23:18 ` Samuel Thibault
2009-03-27 9:52 ` Avi Kivity
2009-03-27 10:32 ` Samuel Thibault
2009-03-27 10:53 ` Avi Kivity
2009-03-27 13:45 ` Samuel Thibault
2009-03-26 22:42 ` Christoph Hellwig
2009-03-26 23:22 ` Samuel Thibault
2009-03-27 10:02 ` Avi Kivity
2009-03-27 10:36 ` Samuel Thibault
2009-03-27 10:58 ` Avi Kivity
2009-03-25 16:46 ` Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49CBDA22.3070600@redhat.com \
--to=avi@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.