aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rcupdate.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r--include/linux/rcupdate.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index dacc90358b33..75e5b393cf44 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -158,11 +158,11 @@ static inline void rcu_init_nohz(void) { }
158 } while (0) 158 } while (0)
159 159
160/* 160/*
161 * Note a voluntary context switch for RCU-tasks benefit. This is a 161 * Note a quasi-voluntary context switch for RCU-tasks's benefit.
162 * macro rather than an inline function to avoid #include hell. 162 * This is a macro rather than an inline function to avoid #include hell.
163 */ 163 */
164#ifdef CONFIG_TASKS_RCU 164#ifdef CONFIG_TASKS_RCU
165#define rcu_note_voluntary_context_switch_lite(t) \ 165#define rcu_tasks_qs(t) \
166 do { \ 166 do { \
167 if (READ_ONCE((t)->rcu_tasks_holdout)) \ 167 if (READ_ONCE((t)->rcu_tasks_holdout)) \
168 WRITE_ONCE((t)->rcu_tasks_holdout, false); \ 168 WRITE_ONCE((t)->rcu_tasks_holdout, false); \
@@ -170,14 +170,14 @@ static inline void rcu_init_nohz(void) { }
170#define rcu_note_voluntary_context_switch(t) \ 170#define rcu_note_voluntary_context_switch(t) \
171 do { \ 171 do { \
172 rcu_all_qs(); \ 172 rcu_all_qs(); \
173 rcu_note_voluntary_context_switch_lite(t); \ 173 rcu_tasks_qs(t); \
174 } while (0) 174 } while (0)
175void call_rcu_tasks(struct rcu_head *head, rcu_callback_t func); 175void call_rcu_tasks(struct rcu_head *head, rcu_callback_t func);
176void synchronize_rcu_tasks(void); 176void synchronize_rcu_tasks(void);
177void exit_tasks_rcu_start(void); 177void exit_tasks_rcu_start(void);
178void exit_tasks_rcu_finish(void); 178void exit_tasks_rcu_finish(void);
179#else /* #ifdef CONFIG_TASKS_RCU */ 179#else /* #ifdef CONFIG_TASKS_RCU */
180#define rcu_note_voluntary_context_switch_lite(t) do { } while (0) 180#define rcu_tasks_qs(t) do { } while (0)
181#define rcu_note_voluntary_context_switch(t) rcu_all_qs() 181#define rcu_note_voluntary_context_switch(t) rcu_all_qs()
182#define call_rcu_tasks call_rcu_sched 182#define call_rcu_tasks call_rcu_sched
183#define synchronize_rcu_tasks synchronize_sched 183#define synchronize_rcu_tasks synchronize_sched
@@ -194,7 +194,7 @@ static inline void exit_tasks_rcu_finish(void) { }
194 */ 194 */
195#define cond_resched_tasks_rcu_qs() \ 195#define cond_resched_tasks_rcu_qs() \
196do { \ 196do { \
197 rcu_note_voluntary_context_switch_lite(current); \ 197 rcu_tasks_qs(current); \
198 cond_resched(); \ 198 cond_resched(); \
199} while (0) 199} while (0)
200 200