Rusty Russell wrote:
Hi all,

Just finished my prototype of inter-guest virtio, using networking as an example. Each guest mmaps the other's address space and uses a FIFO for notifications.

There are two issues with this approach. The first is that neither guest can change its mappings. See patch 1.

Avi mentioned that with MMU notifiers, it may be possible to introduce a new kernel mechanism whereas you could map an arbitrary region of one process's memory into another process. This would address this problem quite nicely.

The second is that our feature configuration is "host presents, guest chooses" which breaks down when we don't know the capabilities of each guest. In particular, TSO capability for networking.
   There are three possible solutions:
1) Just offer the lowest common denominator to both sides (ie. no features). This is what I do with lguest in these patches.
2) Offer something and handle the case where one Guest accepts and another
   doesn't by emulating it.  ie. de-TSO the packets manually.
3) "Hot unplug" the device from the guest which asks for the greater features,
   then re-add it offering less features.  Requires hotplug in the guest OS.
4) Add a feature negotiation feature. The feature that gets set is the "feature negotiate" feature. If a guest doesn't support feature negotiation, you end up with the least-common denominator (no features). If both guests support feature negotiation, you can then add something new to determine the true common subset.

I haven't tuned or even benchmarked these patches, but it pings!

Very nice! It's particularly cool that it was possible entirely in userspace.

Regards,

Anthony Liguori

Rusty.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

_______________________________________________
Lguest mailing list
Lguest@ozlabs.org
https://ozlabs.org/mailman/listinfo/lguest

Reply via email to