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

From: Michael Ellerman <[email-masked]>
Date: Tue, 08 Nov 2016 19:27:33 +1100

Gautham R Shenoy <[email-masked]> writes:
> On Tue, Nov 08, 2016 at 11:21:23AM +1100, Michael Ellerman wrote:
>> Denis Kirjanov <[email-masked]> writes:
>> > On 11/7/16, Michael Ellerman <[email-masked]> wrote:
>> >> Denis Kirjanov <[email-masked]> 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:

[email-masked]
[email-masked]
[email-masked]

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