OSDN Git Service

rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 20 May 2020 00:00:54 +0000 (17:00 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 29 Jun 2020 18:58:50 +0000 (11:58 -0700)
The objtool complains about the call to rcu_cleanup_after_idle() from
rcu_nmi_enter(), so this commit adds instrumentation_begin() before that
call and instrumentation_end() after it.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c

index feb31c2..d17e5a0 100644 (file)
@@ -990,8 +990,11 @@ noinstr void rcu_nmi_enter(void)
                rcu_dynticks_eqs_exit();
                // ... but is watching here.
 
-               if (!in_nmi())
+               if (!in_nmi()) {
+                       instrumentation_begin();
                        rcu_cleanup_after_idle();
+                       instrumentation_end();
+               }
 
                instrumentation_begin();
                // instrumentation for the noinstr rcu_dynticks_curr_cpu_in_eqs()