[PATCH v2] ppc: cpufreq: disable preemption while checking CPU throttling state

Michael Ellerman mpe at ellerman.id.au
Tue Nov 8 19:27:33 AEDT 2016


Gautham R Shenoy <ego at linux.vnet.ibm.com> writes:
> On Tue, Nov 08, 2016 at 11:21:23AM +1100, Michael Ellerman wrote:
>> Denis Kirjanov <kda at linux-powerpc.org> writes:
>> > On 11/7/16, Michael Ellerman <mpe at ellerman.id.au> wrote:
>> >> Denis Kirjanov <kda at linux-powerpc.org> writes:
>> >>>     [   67.700897] BUG: using smp_processor_id() in preemptible [00000000] code: cat/7343
>> >>>     [   67.700988] caller is .powernv_cpufreq_throttle_check+0x2c/0x710
>> >>
>> >> When did this break?
>> >
>> > I think that problem exists since commit
>> > 09a972d1620934142d30cfda455ffe429af751c4 ("cpufreq: powernv: Report
>> > cpu frequency throttling") but I can be wrong
>> 
>> Yep that looks right to me, thanks.
>> 
>> Gautham, how bad is the bug here, do we want to send this to stable?
>
> Not so bad that it needs to be sent to stable immediately.
>
> On CONFIG_PREEMPT enabled systems, if task executing
> powernv_cpufreq_throttle_check can be switched to a CPU on a different
> chip, then we will end up incorrectly attributing the throttle
> statistics of the new chip to the chip where it previously ran. These
> throttle statistics aren't used inside the kernel for any computation,
> but are reported to the user via /sysfs for them to account for any
> variance during a benchmark run.

OK.

> It would be good to include this in the 4.9 fixes though. 

Normally I'd say by about rc5 that if it's not important enough for
stable then it can wait for next (or it fixes a bug introduced in the
current release).

But I just realised it's actually in drivers/cpufreq/powernv-cpufreq.c,
which goes via Raphael, so it's up to him.

And he's not on CC :/

Denis can you resend and CC the cpufreq folks:

rjw at rjwysocki.net
viresh.kumar at linaro.org
linux-pm at vger.kernel.org


And add:

Fixes: 09a972d16209 ("cpufreq: powernv: Report cpu frequency throttling")

And fixup the subject to be:

cpufreq, powernv: Disable preemption while checking CPU throttling state


Thanks.

cheers


More information about the Linuxppc-dev mailing list