Re: + stupid-hack-to-make-mainline-build.patch added to -mm tree

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Thomas Gleixner
Date: Wednesday, March 7, 2007 - 4:05 pm

On Wed, 2007-03-07 at 14:05 -0800, Jeremy Fitzhardinge wrote:

Maybe I missunderstood. 

Still there is a difference between using existing kernel interfaces and
abusing them in a way which makes modifications to the core kernel code
hard and unmaintainable. See below.


On the other hand we yet see things like:

        /* We use normal irq0 handler on cpu0. */
        time_init_hook();

Which is just reaching into the kernel code directly and does not handle
the clock event interrupt self contained. clockevents is not bound to
IRQ0 and this kind of hackery is exactly what we need to avoid in order
to get this maintainable.

Once this is used by paravirt implementations a change to the
mach-default implementation will break stuff left and right.

Also the whole LAPIC business is so horrible, that it hurts. The generic
interrupt layer is there since almost a year and we still see the crude
emulation of hardware and assumptions of irq0 setup all over the place.

We carefully need to define, which existing kernel interfaces are used /
hooked in which way.

If the paravirt implementations actually use the already available
abstractions in the way in which those abstractions are designed, then
we get into a maintainable design. If there are shortcomings on those
abstractions we need to fix them in a sane way or provide a _common_
workaround (e.g. 128 bit math back and forth library) without impacting
the main kernel code.

Looking at vmitimer.c and the number of hardcoded assumptions are
telling me, that we are heading in exactly the opposite direction.


Yes, if they are used in a sane and self contained way without reaching
all over the place and expecting that those functions, which are not
part of the paravirt interfaces will work for ever.


You are not increasing the entanglement with the rest of the system,
when you use a self contained device on top of an existing core kernel
infrastructure, which has a paravirt backend. Quite the contrary, you
have one piece of virtual hardware which is connected to the kernel and
interacts with the various incarnations on the other side, which can as
well live inside the kernel code. Granted it is another level of
indirection, but I'd be happy to have only to deal with one of those
beasts.


hehe. There is always hope, but reality is so frustrating :)


Yes


Fair enough.


No it's not an absolute blocker, as long as we can take care, that the
number of incarnations is 

- designed to be shareable between hypervisors which have the same time
model
- common code like the 128 bit math is in a shared library
- self contained and not reaching out into core kernel code for no good
reason

Same goes for clock events, interrupts and other core facilities.

Thanks,

	tglx


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

Messages in current thread:
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Tue Mar 6, 5:24 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Tue Mar 6, 10:10 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 10:41 am)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 11:28 am)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 11:35 am)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 12:05 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 1:11 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 2:07 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 2:08 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 3:05 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Thomas Gleixner, (Wed Mar 7, 4:05 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 4:33 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 4:36 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 5:19 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 5:38 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Wed Mar 7, 6:23 pm)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Thu Mar 8, 1:41 am)
Re: hardwired VMI crap , Ingo Molnar, (Thu Mar 8, 2:10 am)
Re: hardwired VMI crap, Zachary Amsden, (Thu Mar 8, 3:06 am)
Re: hardwired VMI crap, Thomas Gleixner, (Thu Mar 8, 4:09 am)
Re: hardwired VMI crap, Chris Wright, (Thu Mar 8, 11:35 am)
Re: + stupid-hack-to-make-mainline-build.patch added to -m ..., Jeremy Fitzhardinge, (Thu Mar 8, 12:42 pm)
Re: hardwired VMI crap, Zachary Amsden, (Thu Mar 8, 1:46 pm)
Re: hardwired VMI crap, Ingo Molnar, (Thu Mar 8, 2:13 pm)
Re: hardwired VMI crap, Andi Kleen, (Thu Mar 8, 2:39 pm)
Re: hardwired VMI crap, Zachary Amsden, (Thu Mar 8, 3:17 pm)
Re: hardwired VMI crap, Ingo Molnar, (Thu Mar 8, 3:33 pm)
Re: hardwired VMI crap, Ingo Molnar, (Thu Mar 8, 3:42 pm)
Re: hardwired VMI crap, Zachary Amsden, (Thu Mar 8, 3:58 pm)
Re: hardwired VMI crap, Zachary Amsden, (Thu Mar 8, 4:39 pm)