Re: ABI coupling to hypervisors via CONFIG_PARAVIRT

From: Jan Engelhardt
Date: Fri Mar 09 2007 - 16:07:48 EST


Hello,


On Mar 9 2007 20:24, Ingo Molnar wrote:
>* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
>>On Fri, 9 Mar 2007, Ingo Molnar wrote:
>>>
>>> yes - but we already support the raw hardware ABI, in the native
>>> kernel.
>>
>> Why do you continue to call paravirt an ABI?
>> We got over that. It's not. It's an API.
>> VMI is an ABI.
>
>Unfortunately i still dont see where i'm wrong, and i'm really trying to
>understand your argument. Is your argument that as long as an ABI (VMI)
>is never directly used but only used via wrapper functions
>(paravirt_ops), it has no effects whatsoever on the flexibility of the
>rest of the software and ceases to have any negative ABI effects? [...]

As far as I understand and recognize it,


[have monospaced font]

paravirt struct struct file_operations / {ALSA | OSS}
^ ^
| <- API -> |
v v
VMI /dev/dsp
^ ^
| <- ABI -> |
v v
product userspace app


I think the sound example to the right really shows it. /dev/dsp has a
consistent ABI on a ton of systems. The API below it, varies. Linux got
file_operations and ALSA. Solaris/BSD may have its
vnode-and-so-on-functions and some sort of OSS.

Hope this helps (and more, I hope it's accurate - please correct me if I
am wrong.)



Jan
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/