Re: [ANNOUNCE] v4.14.29-rt25

From: Grygorii Strashko
Date: Mon Apr 23 2018 - 12:58:02 EST




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 <grygorii.strashko@xxxxxx>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
--
regards,
-grygorii