Re: A proposal - binary

Rusty Russell
2006-08-04T07:05:07Z

On Thu, 2006-08-03 at 22:53 -0700, Andrew Morton wrote:
> On Fri, 04 Aug 2006 15:04:35 +1000
> Rusty Russell <rusty@rustcorp.com.au> wrote:
>
> > On Thu, 2006-08-03 at 21:18 -0700, Andrew Morton wrote:
> > Everywhere in the kernel where we have multiple implementations we want
> > to select at runtime, we use an ops struct. Why should the choice of
> > Xen/VMI/native/other be any different?
>
> VMI is being proposed as an appropriate way to connect Linux to Xen. If
> that is true then no other glue is needed.

Sorry, this is wrong. VMI was proposed as the appropriate way to
connect Linux to Xen, *and* native, *and* VMWare's hypervisors (and
others). This way one Linux binary can boot on all three, using
different VMI blobs.

> > Yes, we could force native and Xen to work via VMI, but the result would
> > be less clear, less maintainable, and gratuitously different from
> > elsewhere in the kernel.
>
> I suspect others would disagree with that. We're at the stage of needing
> to see code to settle this.

Wrong again. We've *seen* the code for VMI, and fairly hairy. Seeing
the native-implementation and Xen-implementation VMI blobs will not make
it less hairy!

> > And, of course, unlike paravirt_ops where we
> > can change and add ops at any time, we can't similarly change the VMI
> > interface because it's an ABI (that's the point: the hypervisor can
> > provide the implementation).
>
> hm. Dunno. ABIs can be uprevved. Perhaps.

Certainly VMI can be. But I'd prefer to leave the excellent hackers at
VMWare with the task of maintaining their ABI, and let Linux hackers
(most of whom will run native) manipulate paravirt_ops freely.

We're not good at maintaining ABIs. We're going to be especially bad at
maintaining an ABI when the 99% of us running native will never notice
the breakage.

Hope that clarifies,
Rusty.
--
Help! Save Australia from the worst of the DMCA: http://linux.org.au/law