[v4,4/4] powernv: powerpc: Add winkle support for offline cpus

Michael Ellerman mpe at ellerman.id.au
Sun Dec 14 21:05:59 AEDT 2014


On Tue, 2014-09-12 at 18:56:53 UTC, "Shreyas B. Prabhu" wrote:
> Winkle is a deep idle state supported in power8 chips. A core enters
> winkle when all the threads of the core enter winkle. In this state
> power supply to the entire chiplet i.e core, private L2 and private L3
> is turned off. As a result it gives higher powersavings compared to
> sleep.
...

> diff --git a/arch/powerpc/platforms/powernv/subcore.h b/arch/powerpc/platforms/powernv/subcore.h
> index 148abc9..604eb40 100644
> --- a/arch/powerpc/platforms/powernv/subcore.h
> +++ b/arch/powerpc/platforms/powernv/subcore.h
> @@ -15,4 +15,5 @@
>  
>  #ifndef __ASSEMBLY__
>  void split_core_secondary_loop(u8 *state);
> +extern void update_subcore_sibling_mask(void);
>  #endif

subcore.c isn't built for CONFIG_SMP=n, resulting in:

  setup.c:(.init.text+0x34b0): undefined reference to `.update_subcore_sibling_mask'

I needed to add:

+#else
+static inline void update_subcore_sibling_mask(void) { };
+#endif /* CONFIG_SMP */


I also got quite a few conflicts, with this and the previous patch, mainly in
the paca and asm-offsets. Please check I resolved them correctly:

  https://github.com/mpe/powerpc-merge/commits/test

cheers


More information about the Linuxppc-dev mailing list