On Fri, Dec 04, 2020 at 06:01:57PM +0100, Thomas Gleixner wrote:
> From: Thomas Gleixner <t...@linutronix.de>
> 
> Soft interrupt disabled sections can legitimately be preempted or schedule
> out when blocking on a lock on RT enabled kernels so the RCU preempt check
> warning has to be disabled for RT kernels.
> 
> Signed-off-by: Thomas Gleixner <t...@linutronix.de>

Reviewed-by: Paul E. McKenney <paul...@kernel.org>

> ---
>  include/linux/rcupdate.h |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -319,7 +319,8 @@ static inline void rcu_preempt_sleep_che
>  #define rcu_sleep_check()                                            \
>       do {                                                            \
>               rcu_preempt_sleep_check();                              \
> -             RCU_LOCKDEP_WARN(lock_is_held(&rcu_bh_lock_map),        \
> +             if (!IS_ENABLED(CONFIG_PREEMPT_RT))                     \
> +                 RCU_LOCKDEP_WARN(lock_is_held(&rcu_bh_lock_map),    \
>                                "Illegal context switch in RCU-bh read-side 
> critical section"); \
>               RCU_LOCKDEP_WARN(lock_is_held(&rcu_sched_lock_map),     \
>                                "Illegal context switch in RCU-sched read-side 
> critical section"); \
> 

Reply via email to