From: Rusty Russell <rusty@rustcorp.com.au>
To: "Santos, Jose Renato G" <joserenato.santos@hp.com>
Cc: Jimi Xenidis <jimix@watson.ibm.com>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Xen Mailing List <xen-devel@lists.xensource.com>,
jmk@plan9.bell-labs.com, Herbert Xu <herbert@gondor.apana.org.au>,
kvm-devel <kvm-devel@lists.sourceforge.net>,
virtualization <virtualization@lists.linux-foundation.org>,
Christian Borntraeger <cborntra@de.ibm.com>,
Suzanne McIntosh <skranjac@us.ibm.com>,
Anthony Liguori <anthony@codemonkey.ws>,
Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: RE: [PATCH RFC 1/3] virtio infrastructure
Date: Sat, 02 Jun 2007 20:12:47 +1000 [thread overview]
Message-ID: <1180779167.9228.66.camel@localhost.localdomain> (raw)
In-Reply-To: <08CA2245AFCF444DB3AC415E47CC40AFBD2CCF@G3W0072.americas.hpqcorp.net>
On Fri, 2007-06-01 at 23:35 +0000, Santos, Jose Renato G wrote:
>
> > -----Original Message-----
> > From: xen-devel-bounces@lists.xensource.com
> > [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of
> > Rusty Russell
> > Sent: Thursday, May 31, 2007 5:19 AM
> > To: kvm-devel; Xen Mailing List; virtualization
> > Cc: Jimi Xenidis; Stephen Rothwell; jmk@plan9.bell-labs.com;
> > Herbert Xu; Christian Borntraeger; Suzanne McIntosh; Anthony
> > Liguori; Martin Schwidefsky
> > Subject: [Xen-devel] [PATCH RFC 1/3] virtio infrastructure
> >
> > This attempts to implement a "virtual I/O" layer which should
> > allow common drivers to be efficiently used across most
> > virtual I/O mechanisms. It will no-doubt need further enhancement.
>
> Rusty
>
> Could you please clarify what is the purpose of this "virtual I/O"
> layer?
> At least for networking, why isn't the current linux net device
> abstraction sufficient for hiding the details of different virtual
> devices implementations? What am I missing?
Hi Renato!
This is a very good question. For currently-existing and working
devices it just seems like another layer of indirection, and not much
code saving.
There are several reasons for having a common layer. The obvious is to
reduce the amount of code, but that's the least important. Slightly
more important is that noone wants to maintain and tune 5 different
virtual net drivers, 5 different virtual block drivers, etc. In fact,
the kernel community will start to rebel at some point, especially if
they want different optimization hooks deeper into the kernel.
We expect to see new device types (entropy device, anyone?), and so the
5 different drivers becomes the 5 x N different drivers. Eventually we
may come up with common bus and probing which everyone loves, but until
then we can at least make it simple for each virtualization technology
to implement the new XYZZY device.
Finally, virtual I/O techniques are *moving*. KVM doesn't really have
one, XenSource are discussing more changes to theirs (at least for
networking) and lguest is still looking for an efficient one. No doubt
the others would love to use clean and optimal Linux drivers, too (UML,
S/390, Power, VMWare?).
When Linux doesn't provide a model of what it expects from virtual
devices, one end of the design process is untethered: we've already seen
some fairly random and gratuitously different results. If we can
provide a simple interface which we like it encourages new
implementations to produce Linux-friendly interfaces.
Of course, the new interface must not suck.
I hope that clarifies my thinking?
Rusty.
next prev parent reply other threads:[~2007-06-02 10:12 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-31 12:19 [PATCH RFC 1/3] virtio infrastructure Rusty Russell
[not found] ` <1180613947.11133.58.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-31 12:20 ` [PATCH RFC 2/3] virtio infrastructure: example net driver Rusty Russell
[not found] ` <1180614044.11133.61.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-31 12:21 ` [PATCH RFC 3/3] virtio infrastructure: example block driver Rusty Russell
[not found] ` <1180614091.11133.63.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-31 12:57 ` Carsten Otte
[not found] ` <465EC637.7020504-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-05-31 15:02 ` Troy Benjegerdes
[not found] ` <20070531150206.GB6474-na1kE3HDu0idQnJuSAr7PQ@public.gmane.org>
2007-05-31 17:01 ` Carsten Otte
[not found] ` <465EFF72.5070100-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-05-31 17:36 ` Avi Kivity
2007-05-31 23:39 ` Rusty Russell
[not found] ` <1180654765.10999.6.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-01 7:10 ` Carsten Otte
[not found] ` <465FC65C.6020905-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-06-01 13:13 ` Jens Axboe
[not found] ` <20070601131315.GW32105-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-06-04 13:40 ` Carsten Otte
[not found] ` <4664164A.40604-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-06-04 13:43 ` Jens Axboe
[not found] ` <20070604134322.GC32105-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-06-04 13:52 ` Rusty Russell
[not found] ` <1180965161.25878.47.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-04 13:54 ` Jens Axboe
[not found] ` <20070604135433.GG32105-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-06-04 14:12 ` Carsten Otte
[not found] ` <46641DC9.5050600-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-06-04 14:31 ` Jens Axboe
2007-06-02 9:28 ` Rusty Russell
[not found] ` <1180776482.9228.22.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-04 12:53 ` Carsten Otte
2007-05-31 12:53 ` [PATCH RFC 1/3] virtio infrastructure Carsten Otte
2007-05-31 13:01 ` Dor Laor
2007-06-02 6:30 ` Avi Kivity
[not found] ` <46610E8D.10706-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-02 9:50 ` Rusty Russell
[not found] ` <1180777836.9228.44.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-03 5:28 ` Avi Kivity
[not found] ` <46625192.5020108-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-03 10:29 ` Rusty Russell
[not found] ` <1180866540.17442.74.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-03 11:39 ` [Xen-devel] " Avi Kivity
[not found] ` <4662A86A.7010706-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-03 23:53 ` Rusty Russell
[not found] ` <1180914836.17442.104.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-04 9:55 ` Avi Kivity
[not found] ` <4663E18D.4030007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-04 10:32 ` Herbert Xu
2007-06-04 11:19 ` Rusty Russell
[not found] ` <1180955964.25878.27.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-04 11:25 ` Avi Kivity
[not found] ` <4663F6AC.7070100-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-04 11:40 ` Rusty Russell
2007-06-04 12:17 ` Herbert Xu
2007-06-01 23:35 ` Santos, Jose Renato G
2007-06-02 10:12 ` Rusty Russell [this message]
[not found] ` <1180779167.9228.66.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-04 21:14 ` [Xen-devel] " Santos, Jose Renato G
[not found] ` <08CA2245AFCF444DB3AC415E47CC40AFBD2FD4-VylnnfFjWmASZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2007-06-04 21:19 ` Jeremy Fitzhardinge
[not found] ` <466481ED.8050209-TSDbQ3PG+2Y@public.gmane.org>
2007-06-05 2:05 ` Santos, Jose Renato G
[not found] ` <08CA2245AFCF444DB3AC415E47CC40AFBD30B4-VylnnfFjWmASZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2007-06-05 2:27 ` Rusty Russell
2007-06-05 2:49 ` Santos, Jose Renato G
2007-06-05 1:44 ` [Xen-devel] " Rusty Russell
[not found] ` <1181007892.25878.112.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-06-05 2:39 ` Santos, Jose Renato G
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=1180779167.9228.66.camel@localhost.localdomain \
--to=rusty@rustcorp.com.au \
--cc=anthony@codemonkey.ws \
--cc=cborntra@de.ibm.com \
--cc=herbert@gondor.apana.org.au \
--cc=jimix@watson.ibm.com \
--cc=jmk@plan9.bell-labs.com \
--cc=joserenato.santos@hp.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=schwidefsky@de.ibm.com \
--cc=sfr@canb.auug.org.au \
--cc=skranjac@us.ibm.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=xen-devel@lists.xensource.com \
/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