The following commit has been merged into the core/rcu branch of tip:

Commit-ID:     04b25a495bd68c1dad07263fb91e8b5a31c00a9e
Gitweb:        
https://git.kernel.org/tip/04b25a495bd68c1dad07263fb91e8b5a31c00a9e
Author:        Paul E. McKenney <[email protected]>
AuthorDate:    Tue, 19 May 2020 17:00:54 -07:00
Committer:     Paul E. McKenney <[email protected]>
CommitterDate: Mon, 29 Jun 2020 11:58:50 -07:00

rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr

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) <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
---
 kernel/rcu/tree.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index feb31c2..d17e5a0 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -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()

Reply via email to