From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 0/4] Block DMA helpers (v2)
Date: Sun, 08 Feb 2009 20:04:17 +0200 [thread overview]
Message-ID: <498F1EA1.8060803@redhat.com> (raw)
In-Reply-To: <498F1D6E.3070106@us.ibm.com>
Anthony Liguori wrote:
>> The qemu host interface is at the ring element level, leaving the
>> task of gathering ring elements to make a request (and gathering
>> segments to make a scatter/gather list) to users.
>
> I don't think that's totally accurate. Where the host and guest
> interface differ is that instead of having the symmetric version of
> this, namely:
>
> vdev->buf_added(vq, sg, out_num, in_num, data);
>
> Which then would require some sort of:
>
> put_buf(vq, data, len)
>
> We have a virtqueue_pop(elem) where elem contains all of the
> information passed to add_buf. We have a virtqueue_push() function
> that's analogous to the above put_buf() and then we have a separate
> virtio_notify() function which would be the symmetric form of kick().
> The names are different but the basic functions are the same.
>
> Other than the difference of having split sg lists and using a
> structure, I don't see how they are different.
>
You're right - I didn't dig deep enough.
We could replace
struct iovec in_sg[VIRTQUEUE_MAX_SIZE];
struct iovec out_sg[VIRTQUEUE_MAX_SIZE];
by QEMUSGList, which would be a minor improvement, but I thought things
were very different for some reason.
>>
>> I think we should make the qemu virtio host interface talk at the
>> request level, rather than the ring entry level. If we do that,
>> we'll get a cleaner, easier to use interface.
>
> Can you give an example? I'm having a hard time seeing what you mean.
An example would be how the code is structured now (as opposed to how I
thought it was structured).
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2009-02-08 18:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-05 9:33 [Qemu-devel] [PATCH 0/4] Block DMA helpers (v2) Avi Kivity
2009-02-05 9:33 ` [Qemu-devel] [PATCH 1/4] Add a scatter-gather list type and accessors Avi Kivity
2009-02-05 9:33 ` [Qemu-devel] [PATCH 2/4] Add qemu_iovec_reset() Avi Kivity
2009-02-05 9:33 ` [Qemu-devel] [PATCH 3/4] Introduce block dma helpers Avi Kivity
2009-02-05 9:33 ` [Qemu-devel] [PATCH 4/4] Convert IDE to use new " Avi Kivity
2009-02-05 21:25 ` [Qemu-devel] Re: [PATCH 0/4] Block DMA helpers (v2) Anthony Liguori
2009-02-06 8:52 ` Avi Kivity
2009-02-06 15:12 ` Anthony Liguori
2009-02-07 21:16 ` Avi Kivity
2009-02-07 23:50 ` Anthony Liguori
2009-02-08 9:30 ` Avi Kivity
2009-02-08 17:59 ` Anthony Liguori
2009-02-08 18:04 ` Avi Kivity [this message]
2009-02-08 19:04 ` Anthony Liguori
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=498F1EA1.8060803@redhat.com \
--to=avi@redhat.com \
--cc=aliguori@us.ibm.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.