Re: mutex vs. local irqs (Was: 2.6.18 -mm merge plans)

Roman Zippel
2006-06-08T11:18:04Z

Hi,

On Thu, 8 Jun 2006, Benjamin Herrenschmidt wrote:

> > a better solution would be to install boot-time IRQ vectors that just do
> > nothing but return. They dont mask, they dont ACK nor EOI - they just
> > return. The only thing that could break this is a screaming interrupt,
> > and even that one probably just slows things down a tiny bit until we
> > get so far in the init sequence to set up the PIC.
>
> Changing vectors on the fly is hard on some platforms.... We could
> change our toplevel ppc_md.get_irq() on powerpc, but we still to do
> something about decrementer interrupts.

On ppc it should not be that difficult to even modify the exception entry
code. Instead of calling do_IRQ use do_early_IRQ and only install the real
handler later.

> A screaming level interrupt will lockup the machine at least on some
> platforms.

I guess that's even deadly on most platforms.

> The problem with all those approaches is that they require changes to
> all archs interrupt handling to make the situation safe vs. mutexes...

Only those archs that want to delay interrupt initialization and they at
least have to provide minimal support to survive enabled interrupts.
init_IRQ() stays the same for all other archs and we add another hook to
allow the delayed initializtion.

> I still don't think where is the suckage in just not hard-enabling in
> the mutex debug code...

If you want to have full services, then irqs are part of it. :)

bye, Roman