diff options
author | Ingo Molnar <mingo@kernel.org> | 2022-01-14 16:07:28 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2022-02-14 10:36:58 -0800 |
commit | 58d4292bd037b01fbb940a5170817f7d40caa9d5 (patch) | |
tree | bfdc5633c9a7fd0c12eb313e8f683e2479e1763c /kernel/rcu | |
parent | c09929031018913b5783872a8b8cdddef4a543c7 (diff) |
rcu: Uninline multi-use function: finish_rcuwait()
This is a rarely used function, so uninlining its 3 instructions
is probably a win or a wash - but the main motivation is to
make <linux/rcuwait.h> independent of task_struct details.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/update.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 156892c22bb5..180ff9c41fa8 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -407,6 +407,13 @@ void __wait_rcu_gp(bool checktiny, int n, call_rcu_func_t *crcu_array, } EXPORT_SYMBOL_GPL(__wait_rcu_gp); +void finish_rcuwait(struct rcuwait *w) +{ + rcu_assign_pointer(w->task, NULL); + __set_current_state(TASK_RUNNING); +} +EXPORT_SYMBOL_GPL(finish_rcuwait); + #ifdef CONFIG_DEBUG_OBJECTS_RCU_HEAD void init_rcu_head(struct rcu_head *head) { |