Re: [v3.10-rc1] WARNING: at kernel/rcutree.c:502

From: BjÃrn Mork
Date: Tue May 14 2013 - 04:21:21 EST


"Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> writes:
> On 05/14/2013 01:08 PM, BjÃrn Mork wrote:
>> "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> writes:
>>
>>> The problem appears to be in the cpu idle poll implementation. You can trigger
>>> this problem by passing idle=poll in the kernel cmd-line as well, right?
>>
>> That sounded so obvious that it made me think "Doh, why didn't I just
>> test that before?" But unfortunately there must be some other factor
>> involved. No warnings observed during normal use when running with
>> idle=poll:
>>
>
> I didn't expect warnings with normal use.
>
>> bjorn@nemi:~$ dmesg|grep polling
>> [ 0.000000] process: using polling idle threads
>>
>>
>> I expected a flood of warnings here, but there is none until I start
>> powertop (to confirm that the original issue is still there). So it's
>> more than just entering cpu_idle_poll().
>>
>
> Yeah, of course it is :-) The warning triggers only when you enable the tracepoint
> in the idle code. And in your case, powertop does that. That's why it only
> triggers when you run powertop. Alternatively, if you enable the tracepoint
> yourself manually, I bet you'll see the warnings, even without using powertop.

Ah, right. That sounds so obvious I have to go "Doh!" again:)

>>> I think I understand what is going on here. Can you please try the fix below?
>>> (It is only compile-tested since its very late here and I really need to get
>>> some sleep!).
>>
>> Works perfect. Thanks.
>
> Thanks for your testing!
>
>> I assume this is the correct fix even if the
>> problem isn't completely understood?
>>
>
> Hmm? Why do you say the problem isn't completely understood? I thought I
> explained the problem in my changelog. Did I miss something?

No, I did. I didn't understand the tracepoint part of this. But it is
all perfectly clear to me too now, after your excellent explanation
above.


Thanks,
BjÃrn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/