|| ||Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>|
|| ||[RFC PATCH 0/4] Inter-guest virtio I/O example with lguest|
|| ||Thu, 20 Mar 2008 16:59:14 +1100|
|| ||kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>, lguest <lguest-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>|
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
There are two issues with this approach. The first is that neither guest
can change its mappings. See patch 1. 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
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.
I haven't tuned or even benchmarked these patches, but it pings!