[PATCH v3] cpufreq: powernv: fix stack bloat and hard limit on num cpus

Rafael J. Wysocki rjw at rjwysocki.net
Mon Nov 4 22:06:59 AEDT 2019


On Thursday, October 31, 2019 6:21:59 AM CET John Hubbard wrote:
> The following build warning occurred on powerpc 64-bit builds:
> 
> drivers/cpufreq/powernv-cpufreq.c: In function 'init_chip_info':
> drivers/cpufreq/powernv-cpufreq.c:1070:1: warning: the frame size of
> 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
> 
> This is with a cross-compiler based on gcc 8.1.0, which I got from:
>   https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/
> 
> The warning is due to putting 1024 bytes on the stack:
> 
>     unsigned int chip[256];
> 
> ...and it's also undesirable to have a hard limit on the number of
> CPUs here.
> 
> Fix both problems by dynamically allocating based on num_possible_cpus,
> as recommended by Michael Ellerman.
> 
> Fixes: 053819e0bf840 ("cpufreq: powernv: Handle throttling due to Pmax capping at chip level")
> Cc: Michael Ellerman <mpe at ellerman.id.au>
> Cc: Shilpasri G Bhat <shilpa.bhat at linux.vnet.ibm.com>
> Cc: Preeti U Murthy <preeti at linux.vnet.ibm.com>
> Cc: Viresh Kumar <viresh.kumar at linaro.org>
> Cc: Rafael J. Wysocki <rjw at rjwysocki.net>
> Cc: linux-pm at vger.kernel.org
> Cc: linuxppc-dev at lists.ozlabs.org
> Signed-off-by: John Hubbard <jhubbard at nvidia.com>
> Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
> ---
> 
> Changes since v2: applied fixes from Michael Ellerman's review:
> 
> * Changed from CONFIG_NR_CPUS to num_possible_cpus()
> 
> * Fixed up commit description: added a note about exactly which
>   compiler generates the warning. And softened up wording about
>   the limitation on number of CPUs.
> 
> Changes since v1: includes Viresh's review commit fixes.

Applying as 5.5 material, thanks!





More information about the Linuxppc-dev mailing list