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

From: Michael Ellerman <[email-masked]>
Date: Mon, 16 Feb 2015 11:08:39 +1100

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.
> 
> The symptom, at boot (on powerpc arch systems) with "nohz_full=<CPU 
> list>" is displayed:
>      NO_HZ: Can't run full dynticks because arch doesn't support irq 
> work self-IPIs
> 
> after this patch:
>      NO_HZ: Full dynticks CPUs: <CPU list>.
> 
> Tested against 3.19.

It makes the message change, but is that correct? ie. do we actually implement
"IRQ work self-IPIs"?

> 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