From: Arnd Bergmann <arnd@arndb.de>
To: Avi Kivity <avi@qumranet.com>
Cc: virtualization@lists.linux-foundation.org
Subject: Re: [RFC 1/4] New virtio bus driver
Date: Mon, 9 Jul 2007 18:33:19 +0200 [thread overview]
Message-ID: <200707091833.19520.arnd@arndb.de> (raw)
In-Reply-To: <46924C95.8010002@qumranet.com>
On Monday 09 July 2007, Avi Kivity wrote:
> Arnd Bergmann wrote:
> >
> > But you can always have one more event than you have space in the queue,
> > so the host _still_ needs to do its own queuing of these events.
>
> It's probably enough to keep a flag that the guest is not up-to-date,
> and have a reconfiguration message include the entire configuration
> (e.g. don't send deltas).
Probably, but the important point is that this is a decision that can
be made per driver. For some drivers, it can make sense to have
partial updates, e.g. for the virtbus you only care about added and
removed devices instead of passing a complete list for every update,
while for other drivers, it may be easier to pass a single data structure
with all the configuration every time.
> > [interesting side effect: you can have a PCI device that actually
> > is a virtbus bridge device, as the parent for other hcall based
> > virtio devices, along with other PCI devices, some of which are
> > a virtio device by themselves.]
> >
> That still doesn't help with older Linuces and closed-source OSes, which
> are the main motivation for PCI. Newer Linux should be pure virtbus IMO.
Since anything regarding virtio is about paravirtualization, you will
always need additional drivers to run them, and the interesting part
that remains is to that _something_ exist that you need a driver for.
Once you have the driver for the virtio bridge, the OS will know that
there is more that can be probed through another mechanism, similar
to how you can start probing USB devices as soon as you know what
the USB host controller on the PCI bus does.
An interesting argument made by hpa during OLS is that there is some
value in designing the PCI device in a way that it can operate just
by using standard PCI functionality like MMIO access. I think now that
this can be done without significant overhead compared to a pure hcall
inteface. With this, I think we can get a good compromise by implementing
* PCI based virtbus, hypervisor independent,
* Xen based virtbus,
* hcall based virtbus, shared between kvm and lguest, potentially others,
and
* virtqueue based virtbus bridge, for probing hcall based devices
through PCI.
Arnd <><
next prev parent reply other threads:[~2007-07-09 16:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-06 12:42 [RFC 0/4] Using a generic bus_type for virtio arnd
2007-07-06 12:42 ` [RFC 1/4] New virtio bus driver arnd
2007-07-08 9:59 ` Avi Kivity
2007-07-08 15:29 ` Arnd Bergmann
2007-07-08 15:48 ` Avi Kivity
2007-07-08 20:29 ` Arnd Bergmann
2007-07-08 23:42 ` Rusty Russell
2007-07-09 6:49 ` Avi Kivity
2007-07-09 11:18 ` Arnd Bergmann
2007-07-09 11:41 ` Avi Kivity
2007-07-09 11:38 ` Arnd Bergmann
2007-07-09 12:09 ` Avi Kivity
2007-07-09 14:24 ` Arnd Bergmann
2007-07-09 14:56 ` Avi Kivity
2007-07-09 16:33 ` Arnd Bergmann [this message]
2007-07-10 1:53 ` Rusty Russell
2007-07-10 7:56 ` Avi Kivity
2007-07-10 1:17 ` Rusty Russell
2007-07-10 6:06 ` Avi Kivity
2007-07-06 12:42 ` [RFC 2/4] Convert virtio_net to new virtio bus arnd
2007-07-06 12:42 ` [RFC 3/4] Convert virtio_blk " arnd
2007-07-06 12:42 ` [RFC 4/4] Example virtio host implementation, using chardev arnd
2007-07-08 2:15 ` [RFC 0/4] Using a generic bus_type for virtio Rusty Russell
2007-07-08 9:45 ` Avi Kivity
2007-07-08 15:55 ` Arnd Bergmann
2007-07-08 9:42 ` Avi Kivity
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=200707091833.19520.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=avi@qumranet.com \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).