On 04/20/2018 12:11 PM, Sebastian Andrzej Siewior wrote:
On 2018-03-27 13:01:07 [-0500], Grygorii Strashko wrote:
Hi Sebastian,
Hi Grygorii,

I've took this RT version and applied "[RT] kernel/time/posix-timer: avoid 
schedule()
while holding the RCU lock" [1] on top. Then I run below tests:
no stall or crashes were observed, but I've caught two 
"rcu_note_context_switch()" warnings

the warning is unrelated to the patch I posted. This should mute it:

Subject: [PATCH RT] rtmutex: annotate sleeping lock context

The RCU code complains on schedule() within a rcu_readlock() section.
The valid scenario on -RT is if a sleeping is held. In order to suppress
the warning the mirgrate_disable counter was used to identify the
invocation of schedule() due to lock contention.

Grygorii Strashko report that during CPU hotplug we might see the
warning via
  rt_spin_lock() -> migrate_disable() -> pin_current_cpu() -> __read_rt_lock()

because the counter is not yet set.
It is also possible to trigger the warning from cpu_chill()
(seen on a kblockd_mod_delayed_work_on() caller).

To address this RCU warning I annotate the sleeping lock context. The
counter is incremented before migrate_disable() so the warning Grygorii
should not trigger anymore. Additionally I use that counter in
cpu_chill() to avoid the RCU warning from there.

Sry, but I can't apply it. What's you base?


Reported-by: Grygorii Strashko <[email protected]>
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
---
--
regards,
-grygorii

Reply via email to