[lkml]   [2007]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: ABI coupling to hypervisors via CONFIG_PARAVIRT

    * Chris Wright <> wrote:

    > * Ingo Molnar ( wrote:
    > > ( if there is no backwards compatibility promise then i have zero
    > > complaints: then paravirt_ops + the hypercall just becomes another API
    > > internal to Linux that we can improve at will. But that is not
    > > realistic: if we provide CONFIG_VMI today, people will expect to have
    > > CONFIG_VMI in the future too. )
    > This was the whole reason we didn't adopt VMI directly. Instead,
    > preferring an kernel internal API, pv_ops, that can adopt naturally as
    > the kernel changes, and it is the pv_ops client code's (or backend as
    > it is also referred to) responsibility to do whatever is necessary to
    > map back to the hypervisor's ABI. The goal was explicitly to keep
    > things internal fluid as usual. As I said before, no matter how you
    > slice it there's glue code somewhere to deal with compatibilities. And
    > it's always been the virtualization platform's responsibility to deal
    > with the changes.

    For example, for the sake of argument, if the VMI ABI consisted only of
    a single call:

    #define VMI_CALL_NOP 1

    then obviously it would be very hard for VMI to adopt to changes in the
    kernel - no matter how many smarts you put into paravirt_ops :-)

    agreed? That is the center of my argument. Does the VMI ABI limit the
    Linux kernel or not?

    As we increase the complexity of a hypercall ABI, more and more things
    can be implemented via it. So _obviously_ there is a 'minimum level of
    capability' for every hypercall ABI that is /required/ to keep the Linux
    kernel 100% flexible. If in some tricky corner the ABI has some stupid
    limit or assumption, it might stiffle future changes in Linux.

    i am worried whether /any/ future change to the upstream kernel's design
    can be adopted via paravirt_ops, via the current VMI ABI. And by /any/ i
    mean truly any. And whether that can be done is not a function of the
    flexibility of paravirt_ops, it's a function of the flexibility of the
    VMI ABI.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-03-09 22:51    [W:0.022 / U:16.580 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site