9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] From our "not quite grasping the concept" file
@ 2007-11-08  7:31 ron minnich
  2007-11-08 12:00 ` Richard Miller
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: ron minnich @ 2007-11-08  7:31 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I offer this:
http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/5f92fd9fa6c2c64f/ef69521d8d0bd004?lnk=raot

"I dislike strings.  They make it look as if you have a nice extensible
interface, where in reality you have a poorly documented interface which
leads to poor interoperability."

So, the decision in the linux virtualization world is to make all
paravirtual devices look like ... drum roll ... PCI devices. Since, of
course, PCI device is the Universal device.

My brain hurts.

ron


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08  7:31 [9fans] From our "not quite grasping the concept" file ron minnich
@ 2007-11-08 12:00 ` Richard Miller
  2007-11-08 12:55   ` Eric Van Hensbergen
  2007-11-08 13:57   ` erik quanstrom
  2007-11-08 19:46 ` Pietro Gagliardi
  2007-11-09  1:07 ` dave.l
  2 siblings, 2 replies; 15+ messages in thread
From: Richard Miller @ 2007-11-08 12:00 UTC (permalink / raw)
  To: 9fans

> So, the decision in the linux virtualization world is to make all
> paravirtual devices look like ... drum roll ... PCI devices.

That's really tragic.  Virtualisation of devices would be such a good
opportunity to invent a nice simple interface abstracting away from
all the hardware constraints.  Sure, all the guest OSs will need new
drivers - but using a simple interface means they should be really
easy to write.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 12:00 ` Richard Miller
@ 2007-11-08 12:55   ` Eric Van Hensbergen
  2007-11-08 15:20     ` erik quanstrom
  2007-11-08 13:57   ` erik quanstrom
  1 sibling, 1 reply; 15+ messages in thread
From: Eric Van Hensbergen @ 2007-11-08 12:55 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Nov 8, 2007 6:00 AM, Richard Miller <9fans@hamnavoe.com> wrote:
> > So, the decision in the linux virtualization world is to make all
> > paravirtual devices look like ... drum roll ... PCI devices.
>
> That's really tragic.  Virtualisation of devices would be such a good
> opportunity to invent a nice simple interface abstracting away from
> all the hardware constraints.  Sure, all the guest OSs will need new
> drivers - but using a simple interface means they should be really
> easy to write.
>

The opportunity still exists -- only one driver needs to implement
their numeric hack - 9p.  Then the rest can be based off of that.
Unfortunately, evolution just comes slow and painful.

       -eric


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 12:00 ` Richard Miller
  2007-11-08 12:55   ` Eric Van Hensbergen
@ 2007-11-08 13:57   ` erik quanstrom
  1 sibling, 0 replies; 15+ messages in thread
From: erik quanstrom @ 2007-11-08 13:57 UTC (permalink / raw)
  To: 9fans

>> So, the decision in the linux virtualization world is to make all
>> paravirtual devices look like ... drum roll ... PCI devices.
> 
> That's really tragic.  Virtualisation of devices would be such a good
> opportunity to invent a nice simple interface abstracting away from
> all the hardware constraints.  Sure, all the guest OSs will need new
> drivers - but using a simple interface means they should be really
> easy to write.

one day software will break
free of this silicon coil
the code will then ache
for one more cycle to toil

- erik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 12:55   ` Eric Van Hensbergen
@ 2007-11-08 15:20     ` erik quanstrom
  2007-11-08 16:07       ` Latchesar Ionkov
  2007-11-08 16:10       ` Eric Van Hensbergen
  0 siblings, 2 replies; 15+ messages in thread
From: erik quanstrom @ 2007-11-08 15:20 UTC (permalink / raw)
  To: 9fans

> The opportunity still exists -- only one driver needs to implement
> their numeric hack - 9p.  Then the rest can be based off of that.
> Unfortunately, evolution just comes slow and painful.
> 
>        -eric

are 9p mesages really the right vehicle for this?  9p messages
provides a serialized and in a standard byte order.  this requires
byte reordering (on intel) and copying.  but are these really needed?
the guest and host are on the same platform, so the guest can
pass pointers to the host.  for the same reason, integers don't need
reformatting.

modern devices usually dma directly, so the host may never need
to touch the pointed-to memory.

perhaps using Fcall structures directly would be more efficient?

- erik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 15:20     ` erik quanstrom
@ 2007-11-08 16:07       ` Latchesar Ionkov
  2007-11-08 16:38         ` erik quanstrom
  2007-11-08 16:10       ` Eric Van Hensbergen
  1 sibling, 1 reply; 15+ messages in thread
From: Latchesar Ionkov @ 2007-11-08 16:07 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs


On Nov 8, 2007, at 8:20 AM, erik quanstrom wrote:

>> The opportunity still exists -- only one driver needs to implement
>> their numeric hack - 9p.  Then the rest can be based off of that.
>> Unfortunately, evolution just comes slow and painful.
>>
>>        -eric
>
> are 9p mesages really the right vehicle for this?  9p messages
> provides a serialized and in a standard byte order.  this requires
> byte reordering (on intel) and copying.  but are these really needed?
> the guest and host are on the same platform, so the guest can
> pass pointers to the host.  for the same reason, integers don't need
> reformatting.
>
> modern devices usually dma directly, so the host may never need
> to touch the pointed-to memory.
>
> perhaps using Fcall structures directly would be more efficient?

That's one of the options. We are probably going to start with  
serialized content (no copying of the data though) and if it is too  
slow, we won't do serialization.

Thanks,
	Lucho


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 15:20     ` erik quanstrom
  2007-11-08 16:07       ` Latchesar Ionkov
@ 2007-11-08 16:10       ` Eric Van Hensbergen
  2007-11-08 16:33         ` erik quanstrom
  1 sibling, 1 reply; 15+ messages in thread
From: Eric Van Hensbergen @ 2007-11-08 16:10 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Nov 8, 2007 9:20 AM, erik quanstrom <quanstro@quanstro.net> wrote:
> > The opportunity still exists -- only one driver needs to implement
> > their numeric hack - 9p.  Then the rest can be based off of that.
> > Unfortunately, evolution just comes slow and painful.
> >
> >        -eric
>
> are 9p mesages really the right vehicle for this?  9p messages
> provides a serialized and in a standard byte order.  this requires
> byte reordering (on intel) and copying.  but are these really needed?
> the guest and host are on the same platform, so the guest can
> pass pointers to the host.  for the same reason, integers don't need
> reformatting.
>

9p is the right organizational structure.  The details of marshalling
and pass-by-copy versus pass-by-reference are transport issues.  Lucho
and I have been playing with zero-marhsalling/zero-copy transport
variants of 9P for virtualized environments.

          -eric


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 16:10       ` Eric Van Hensbergen
@ 2007-11-08 16:33         ` erik quanstrom
  2007-11-08 16:42           ` ron minnich
  0 siblings, 1 reply; 15+ messages in thread
From: erik quanstrom @ 2007-11-08 16:33 UTC (permalink / raw)
  To: 9fans

> > are 9p mesages really the right vehicle for this?  9p messages
> > provides a serialized and in a standard byte order.  this requires
> > byte reordering (on intel) and copying.  but are these really needed?
> > the guest and host are on the same platform, so the guest can
> > pass pointers to the host.  for the same reason, integers don't need
> > reformatting.
> >
> 
> 9p is the right organizational structure.  The details of marshalling
> and pass-by-copy versus pass-by-reference are transport issues.  Lucho
> and I have been playing with zero-marhsalling/zero-copy transport
> variants of 9P for virtualized environments.
> 
>           -eric

perhaps i'm being too pedantic, but 9p is defined by how it marshals data.

- erik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 16:07       ` Latchesar Ionkov
@ 2007-11-08 16:38         ` erik quanstrom
  2007-11-08 17:24           ` Latchesar Ionkov
  0 siblings, 1 reply; 15+ messages in thread
From: erik quanstrom @ 2007-11-08 16:38 UTC (permalink / raw)
  To: 9fans

> That's one of the options. We are probably going to start with  
> serialized content (no copying of the data though) and if it is too  
> slow, we won't do serialization.

i'm not sure i understand.  either the message is formatted (and the data
copied) or it's not.  i must be missing something.

- erik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 16:33         ` erik quanstrom
@ 2007-11-08 16:42           ` ron minnich
  2007-11-08 16:51             ` roger peppe
  0 siblings, 1 reply; 15+ messages in thread
From: ron minnich @ 2007-11-08 16:42 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Nov 8, 2007 8:33 AM, erik quanstrom <quanstro@coraid.com> wrote:
> > > are 9p mesages really the right vehicle for this?  9p messages
> > > provides a serialized and in a standard byte order.  this requires
> > > byte reordering (on intel) and copying.  but are these really needed?
> > > the guest and host are on the same platform, so the guest can
> > > pass pointers to the host.  for the same reason, integers don't need
> > > reformatting.
> > >
> >
> > 9p is the right organizational structure.  The details of marshalling
> > and pass-by-copy versus pass-by-reference are transport issues.  Lucho
> > and I have been playing with zero-marhsalling/zero-copy transport
> > variants of 9P for virtualized environments.
> >
> >           -eric
>
> perhaps i'm being too pedantic, but 9p is defined by how it marshals data.


You guys lost me. The header fields are in a certain byte order, but
when did the data start being byte-reordered? Have I been missing this
reordering all these years? I sure never implemented it in my code ...
which worked fine between Alpha and x86.

ron


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 16:42           ` ron minnich
@ 2007-11-08 16:51             ` roger peppe
  0 siblings, 0 replies; 15+ messages in thread
From: roger peppe @ 2007-11-08 16:51 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> this requires byte reordering (on intel)

sorry to be pedantic, but 9p uses little-endian integers
so it's the big-endian machines that need to do byte reordering.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08 16:38         ` erik quanstrom
@ 2007-11-08 17:24           ` Latchesar Ionkov
  0 siblings, 0 replies; 15+ messages in thread
From: Latchesar Ionkov @ 2007-11-08 17:24 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

It is not necessary the message to be in a single block of memory.  
The message header can be prepared in one block and the rest of the  
data can be in a different one. As Eric said, all this is transport  
specific.

	Lucho

On Nov 8, 2007, at 9:38 AM, erik quanstrom wrote:

>> That's one of the options. We are probably going to start with
>> serialized content (no copying of the data though) and if it is too
>> slow, we won't do serialization.
>
> i'm not sure i understand.  either the message is formatted (and  
> the data
> copied) or it's not.  i must be missing something.
>
> - erik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08  7:31 [9fans] From our "not quite grasping the concept" file ron minnich
  2007-11-08 12:00 ` Richard Miller
@ 2007-11-08 19:46 ` Pietro Gagliardi
  2007-11-09  1:07 ` dave.l
  2 siblings, 0 replies; 15+ messages in thread
From: Pietro Gagliardi @ 2007-11-08 19:46 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Here's a question: What do strings have to do with PCI devices? Don't  
ID tags end with \0 or something?

On Nov 8, 2007, at 2:31 AM, ron minnich wrote:

> I offer this:
> http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/ 
> 5f92fd9fa6c2c64f/ef69521d8d0bd004?lnk=raot
>
> "I dislike strings.  They make it look as if you have a nice  
> extensible
> interface, where in reality you have a poorly documented interface  
> which
> leads to poor interoperability."
>
> So, the decision in the linux virtualization world is to make all
> paravirtual devices look like ... drum roll ... PCI devices. Since, of
> course, PCI device is the Universal device.
>
> My brain hurts.
>
> ron


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-08  7:31 [9fans] From our "not quite grasping the concept" file ron minnich
  2007-11-08 12:00 ` Richard Miller
  2007-11-08 19:46 ` Pietro Gagliardi
@ 2007-11-09  1:07 ` dave.l
  2007-11-09  4:43   ` Paul Lalonde
  2 siblings, 1 reply; 15+ messages in thread
From: dave.l @ 2007-11-09  1:07 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

What's really bizarre is that, if you read on,
it says
"PCI means that you can reuse all of the platform's infrastructure for
  irq allocation, discovery, device hotplug, and management."

i.e. mandates 386 style interrupt handling.

Even better:
"We will support non-pci for s390, but in order to support Windows and
  older Linux PCI is necessary."

WTF?  So this "virtual device" concept only works on either PCI-w/386- 
style-interrupts or s390 machines?

Is it just me or is the whole linux universe stark raving bonkers?

What does the PCI bus on a mobile phone look like?

DaveL

On 8 Nov 2007, at 07:31, ron minnich wrote:

> I offer this:
> http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/ 
> 5f92fd9fa6c2c64f/ef69521d8d0bd004?lnk=raot
>
> "I dislike strings.  They make it look as if you have a nice  
> extensible
> interface, where in reality you have a poorly documented interface  
> which
> leads to poor interoperability."
>
> So, the decision in the linux virtualization world is to make all
> paravirtual devices look like ... drum roll ... PCI devices. Since, of
> course, PCI device is the Universal device.
>
> My brain hurts.
>
> ron


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] From our "not quite grasping the concept" file
  2007-11-09  1:07 ` dave.l
@ 2007-11-09  4:43   ` Paul Lalonde
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Lalonde @ 2007-11-09  4:43 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 8-Nov-07, at 5:07 PM, dave.l@mac.com wrote:
> Is it just me or is the whole linux universe stark raving bonkers?

Insular is the word you're looking for.

Paul

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFHM+WCpJeHo/Fbu1wRAo4AAJ90F4LxydFsGkHj5cdtMj/oshtf4gCfVyaH
OQXhFXTL1gClimcBrntAnac=
=REEn
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-11-09  4:43 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-08  7:31 [9fans] From our "not quite grasping the concept" file ron minnich
2007-11-08 12:00 ` Richard Miller
2007-11-08 12:55   ` Eric Van Hensbergen
2007-11-08 15:20     ` erik quanstrom
2007-11-08 16:07       ` Latchesar Ionkov
2007-11-08 16:38         ` erik quanstrom
2007-11-08 17:24           ` Latchesar Ionkov
2007-11-08 16:10       ` Eric Van Hensbergen
2007-11-08 16:33         ` erik quanstrom
2007-11-08 16:42           ` ron minnich
2007-11-08 16:51             ` roger peppe
2007-11-08 13:57   ` erik quanstrom
2007-11-08 19:46 ` Pietro Gagliardi
2007-11-09  1:07 ` dave.l
2007-11-09  4:43   ` Paul Lalonde

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).