Subject: Re: [PATCH] powerpc: re-enable dynticks

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 16 Feb 2015 15:06:46 +1100

On Mon, 2015-02-16 at 11:08 +1100, Michael Ellerman wrote:
> On Fri, 2015-02-13 at 13:38 -0600, Paul Clarke wrote:
> > implement arch_irq_work_has_interrupt() for powerpc
> > 
> > Commit 9b01f5bf3 introduced a dependency on "IRQ work self-IPIs" for 
> > full dynamic ticks to be enabled, by expecting architectures to 
> > implement a suitable arch_irq_work_has_interrupt() routine.
> > 
> > Several arches have implemented this routine, including x86 (3010279f) 
> > and arm (09f6edd4), but powerpc was omitted.
> > 
> > This patch implements this routine for powerpc.
> > 
 .../...
> 
> It makes the message change, but is that correct? ie. do we actually implement
> "IRQ work self-IPIs"?

I think so... Fred, do you think what we do will work ? We hijack our
decrementer (local timer) by making it shoot almost immediately (1 tick
away) and run the irq work at the beginning of __timer_interrupt().

At that point we are on our irq stack and have done irq_enter but that's
about it.

Cheers,
Ben.

> > diff --git a/arch/powerpc/include/asm/irq_work.h 
> > b/arch/powerpc/include/asm/irq_work.h
> > new file mode 100644
> > index 0000000..18365ec
> > --- /dev/null
> > +++ b/arch/powerpc/include/asm/irq_work.h
> > @@ -0,0 +1,11 @@
> > +#ifndef _ASM_IRQ_WORK_H
> > +#define _ASM_IRQ_WORK_H
> > +
> > +#include <asm/processor.h>
> > +
> > +static inline bool arch_irq_work_has_interrupt(void)
> > +{
> > +	return 1;
> 
> Should be "true";
> 
> > +}
> 
> cheers
> 
> 
> _______________________________________________
> Linuxppc-dev mailing list
> [email-masked]
> https://lists.ozlabs.org/listinfo/linuxppc-dev