Re: [PATCH] powerpc: re-enable dynticks

Benjamin Herrenschmidt
2015-02-16T04:07:06Z

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
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev