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

From: Dan Hecht
Date: Wed Mar 07 2007 - 16:19:12 EST


On 03/07/2007 01:19 PM, Thomas Gleixner wrote:
On Wed, 2007-03-07 at 13:02 -0800, Dan Hecht wrote:
On 03/07/2007 12:57 PM, Thomas Gleixner wrote:
On Wed, 2007-03-07 at 12:11 -0800, Jeremy Fitzhardinge wrote:
Dan Hecht wrote:
Jeremy, I saw you sent out the Xen version earlier, thanks. Here's
ours for reference (please excuse any formating issues); it's also
lean. We'll send out a proper patch later after some more testing:
So the interrupt side of the clockevent comes through the virtual apic? Where does evt->handle_event get called?

/* We use normal irq0 handler on cpu0. */
time_init_hook();
That's exactly the thing I ranted about before. We keep the historic
view of emulated hardware and just wrap it into enough glue code instead
of doing an abstract design, which just gets rid of those hardware
assumptions at all. That's the big advantage of paravirtualization, but
the current way on paravirt ops is just ignoring this.

Are you saying you would prefer we create our own irq handler something like this rather than using the standard i386 handlers?

irqreturn_t vmi_timer_interrupt(int irq, void *dev_id)
{
local_event->event_handler(local_event);
return IRQ_HANDLED;
}

?? That's fine with me.

I prefer _ONE_ generic abstract implementation of a clock event, which
can be used by all hypervisors. Please keep all your wiring and ideas of
how to best emulate a i386 system away from the kernel as far as you
can.

Please sit down with the other hypervisor folks and define the five
functions you need to interact between clockevents and the particular
hypervisor and implement it once.

Then you can change and evolve your idea of how handle them best in your
hypervisor code, where it belongs.


Okay, I guess we are essentially back to the "XEN & VMI" thread. Let's just keep that discussion in one place.
-
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/