* Chris Wright <[EMAIL PROTECTED]> wrote: > * Ingo Molnar ([EMAIL PROTECTED]) 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. Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/