Re: [PATCH/RFC 7/9] Virtual network guest device driver

Arnd Bergmann
2007-05-23T23:02:40Z

On Wednesday 23 May 2007, Eric Van Hensbergen wrote:
> On 5/23/07, Carsten Otte <cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org> wrote:
> >
> > For me, plan9 does provide answers to a lot of above requirements.
> > However, it does not provide capabilities for shared memory and it
> > adds extra complexity. It's been designed to solve a different problem.
> >
> As a point of clarification, plan9 protocols have been used over
> shared memory for resource access on virtualized systems for the past
> 3 years.  There are certainly ways it can be further optimized, but it
> is not a restriction.

I think what Carsten means is to have a mmap interface over 9p, not
implementing 9p by means of shared memory, which is what I guess
you are referring to.

If you want to share memory areas between a guest and the host
or another guest, you can't do that with the regular Tread/Twrite
interface that 9p has on a file.

> As far as complexity goes, our guest-side stack
> is around 2000 lines of code (with an additional 1000 lines of support
> routines that could likely be replaced by standard library or OS
> services in more conventional platforms) and supports console, file
> system, network, and block device access.

Another interface that I think is missing in 9p is a notification
for hotplugging. Of course you can have a long-running read on a
special file that returns the file names for virtual devices that
have been added or removed in the guest, but that sounds a little
clumsy compared to an specialized interface (e.g. Tnotify).