Re: Xen & VMI?

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Rusty Russell <rusty@...>
Cc: Nakajima, Jun <jun.nakajima@...>, virtualization <virtualization@...>, Roland McGrath <roland@...>, Anthony Liguori <anthony@...>, Andrew Morton <akpm@...>, Linus Torvalds <torvalds@...>, <linux-kernel@...>, Jan Beulich <jbeulich@...>
Date: Wednesday, March 7, 2007 - 4:15 am

* Rusty Russell <rusty@rustcorp.com.au> wrote:


the 'hardware is changing fast so we cannot do a sane API' argument 
sounds good at first but in this context it is still fundamentally 
wrong. Hardware has changed /dramatically/ since we started Linux, still 
we didnt have to do dramatic changes to the system call API/ABI. Why? 
Because hardware too is fundamentally controlled by the rules of this 
world. So if you know the laws of physics, math and computer science, 
you /CAN/ do a sane API that lives for quite some time. We had these 
kinds of discussions when Linux was just a few years old - many people 
were worried about 'the hardware changes too fast' - but if the 
fundamentals are strong, it _doesnt really matter_, as long as our 
interfaces are sane and we quickly adopt our internals.

On the other hand, Linux's internal details, semantics, approaches are a 
lot more ad-hoc and alot more affected by changes in the hardware 
environment - that's why i'd not like to see some external ABI 
constraint limit aspects of those internals.

For example, VMI_CALL_SetAlarm takes a 'cycles' argument. Cycles is a 
quite bad unit for an API, it should be absolute time, nanosec or 
picosec based instead. We could easily see CPUs that have /no concept of 
cycles/, at all! Even today's CPUs have hardly any fix concept of 
cycles, due to cpufreq. It's as if 15 years ago we had based sys_mmap() 
around the concept of '16-bit segments'. We could certainly make it work 
on current hardware but it would look pretty awkward today.

in fact hardware changes alot more by just going from one Linux arch to 
another - still the system call API is essentially the same. (with 
small, non-fundamental variations)

furthermore, most of the details in VMI or in Xen's lowlevel APIs (where 
most of the overlap is currently - VMI doesnt have all that many 
highlevel APIs) are cast into stone. The i386 arch is not going to 
change, ever. Most details of the x86_64 arch is not going to change, 
ever. It's unclear whether there will ever be the need for any x86_128 
arch (for humans). So it should be quite possible to come up with 
something sane for these lowlevel details, and cast it into stone, for 
everyone. Just like the chip makers cast it into silicon.

the more nontrivial (and thus more harmful, because more 
design-limiting) bits are the highlevel APIs.


yeah, it's a nontrivial job - like writing a sane OS. But it's doable 
and we are in fact out here trying to do exactly that, right? ;-)

	Ingo
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 8:06 am)
Re: [patch] paravirt: VDSO page is essential, Rusty Russell, (Mon Mar 5, 9:28 am)
Re: [patch] paravirt: VDSO page is essential, Rusty Russell, (Mon Mar 5, 8:57 pm)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Mon Mar 5, 9:03 pm)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Mon Mar 5, 9:14 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Tue Mar 6, 3:35 am)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Tue Mar 6, 3:42 am)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Tue Mar 6, 2:48 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Tue Mar 6, 3:50 am)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Mon Mar 5, 9:51 pm)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Mon Mar 5, 9:53 pm)
Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 4:19 am)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 5:07 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:26 am)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 12:42 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 1:18 pm)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 2:04 pm)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 4:37 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 4:52 am)
Re: Xen &amp; VMI?, Chris Wright, (Tue Mar 6, 3:46 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 4:30 pm)
Re: Xen &amp; VMI?, Chris Wright, (Tue Mar 6, 4:53 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:03 pm)
Re: Xen &amp; VMI?, Chris Wright, (Tue Mar 6, 5:28 pm)
Re: Xen &amp; VMI?, Zachary Amsden, (Tue Mar 6, 10:35 pm)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 5:15 am)
Re: Xen &amp; VMI?, Avi Kivity, (Tue Mar 6, 5:55 am)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 6:23 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 6:31 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:34 am)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 6:15 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 6:26 am)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 7:04 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 7:59 am)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 12:27 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 1:11 pm)
Re: Xen &amp; VMI?, Zachary Amsden, (Tue Mar 6, 10:16 pm)
Re: Xen &amp; VMI?, Anthony Liguori, (Tue Mar 6, 11:03 am)
RE: Xen &amp; VMI?, Nakajima, Jun, (Tue Mar 6, 1:17 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 4:37 pm)
Re: Xen &amp; VMI?, Rusty Russell, (Tue Mar 6, 8:44 pm)
Re: Xen & VMI?, Ingo Molnar, (Wed Mar 7, 4:15 am)
Re: Xen &amp; VMI?, Dan Hecht, (Wed Mar 7, 3:14 pm)
Re: Xen &amp; VMI?, Zachary Amsden, (Wed Mar 7, 5:17 am)
Re: Xen &amp; VMI?, Thomas Gleixner, (Wed Mar 7, 7:15 am)
Re: Xen &amp; VMI?, Zachary Amsden, (Tue Mar 6, 11:06 pm)
Re: Xen &amp; VMI?, Anthony Liguori, (Tue Mar 6, 8:54 pm)
RE: Xen &amp; VMI?, Nakajima, Jun, (Tue Mar 6, 5:35 pm)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 5:02 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:11 pm)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 5:13 pm)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:20 pm)
Re: Xen &amp; VMI?, Jeremy Fitzhardinge, (Tue Mar 6, 5:46 pm)
Re: Xen &amp; VMI?, Anthony Liguori, (Tue Mar 6, 1:32 pm)
Re: Xen &amp; VMI?, Gerd Hoffmann, (Tue Mar 6, 8:34 am)
Re: Xen &amp; VMI?, Zachary Amsden, (Tue Mar 6, 5:03 am)
Re: Xen &amp; VMI?, Ingo Molnar, (Tue Mar 6, 5:10 am)
Re: Xen &amp; VMI?, Zachary Amsden, (Tue Mar 6, 4:48 am)
Re: [patch] paravirt: VDSO page is essential, Rusty Russell, (Mon Mar 5, 9:11 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 9:38 am)
Re: [patch] paravirt: VDSO page is essential, Andi Kleen, (Mon Mar 5, 10:34 am)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Mon Mar 5, 4:11 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 4:19 pm)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Mon Mar 5, 4:42 pm)
Re: [patch] paravirt: VDSO page is essential, Andi Kleen, (Mon Mar 5, 4:16 pm)
Re: [patch] paravirt: VDSO page is essential, Zachary Amsden, (Mon Mar 5, 4:33 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 9:48 am)
[patch] paravirt: re-enable COMPAT_VDSO, Ingo Molnar, (Mon Mar 5, 9:46 am)
Re: [patch] paravirt: VDSO page is essential, Andi Kleen, (Mon Mar 5, 10:27 am)
Re: [patch] paravirt: VDSO page is essential, Roland McGrath, (Mon Mar 5, 5:58 pm)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Mon Mar 5, 6:01 pm)
Re: [patch] paravirt: VDSO page is essential, Roland McGrath, (Mon Mar 5, 6:58 pm)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Tue Mar 6, 4:34 am)
Re: [patch] paravirt: VDSO page is essential, Roland McGrath, (Tue Mar 6, 5:13 am)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Tue Mar 6, 5:14 am)
Re: [patch] paravirt: VDSO page is essential, Jeremy Fitzhardinge, (Mon Mar 5, 7:03 pm)
Re: [patch] paravirt: VDSO page is essential, Avi Kivity, (Mon Mar 5, 8:36 am)
Re: [patch] paravirt: VDSO page is essential, Andi Kleen, (Mon Mar 5, 10:28 am)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 9:48 am)
Re: [patch] paravirt: VDSO page is essential, Andi Kleen, (Mon Mar 5, 10:58 am)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 9:59 am)
Re: [patch] paravirt: VDSO page is essential, Avi Kivity, (Mon Mar 5, 10:10 am)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 10:10 am)
Re: [patch] paravirt: VDSO page is essential, Ingo Molnar, (Mon Mar 5, 8:40 am)
Re: [patch] paravirt: VDSO page is essential, Avi Kivity, (Mon Mar 5, 9:00 am)
Re: [patch] paravirt: VDSO page is essential, Rusty Russell, (Mon Mar 5, 9:32 am)