diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-11-05 16:51:43 +0300 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-12-04 21:29:00 +0300 |
commit | dc259accec0845ddf56e87337c0b211026eca0ae (patch) | |
tree | 9a2fdb0632650df4937666fd3054866325540fa4 | |
parent | f2b1760aedba1d8394636ba31b9e864e82527528 (diff) | |
download | linux-dc259accec0845ddf56e87337c0b211026eca0ae.tar.xz |
rcu: Account for rcu_all_qs() in cond_resched()
If cond_resched() returns false, then it has already invoked
rcu_all_qs(). This is also invoked (now redundantly) by
rcu_note_voluntary_context_switch(). This commit therefore changes
cond_resched_rcu_qs() to invoke rcu_note_voluntary_context_switch_lite()
instead of rcu_note_voluntary_context_switch() to avoid the redundant
invocation of rcu_all_qs().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r-- | include/linux/rcupdate.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index a6ddc42f87a5..7bd8b5a6db10 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -197,7 +197,7 @@ static inline void exit_tasks_rcu_finish(void) { } #define cond_resched_rcu_qs() \ do { \ if (!cond_resched()) \ - rcu_note_voluntary_context_switch(current); \ + rcu_note_voluntary_context_switch_lite(current); \ } while (0) /* |