summaryrefslogtreecommitdiff
path: root/include/linux/rcuwait.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2022-01-15 03:07:28 +0300
committerPaul E. McKenney <paulmck@kernel.org>2022-02-14 21:36:58 +0300
commit58d4292bd037b01fbb940a5170817f7d40caa9d5 (patch)
treebfdc5633c9a7fd0c12eb313e8f683e2479e1763c /include/linux/rcuwait.h
parentc09929031018913b5783872a8b8cdddef4a543c7 (diff)
downloadlinux-58d4292bd037b01fbb940a5170817f7d40caa9d5.tar.xz
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 'include/linux/rcuwait.h')
-rw-r--r--include/linux/rcuwait.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/include/linux/rcuwait.h b/include/linux/rcuwait.h
index 61c56cca95c4..8052d34da782 100644
--- a/include/linux/rcuwait.h
+++ b/include/linux/rcuwait.h
@@ -47,11 +47,7 @@ static inline void prepare_to_rcuwait(struct rcuwait *w)
rcu_assign_pointer(w->task, current);
}
-static inline void finish_rcuwait(struct rcuwait *w)
-{
- rcu_assign_pointer(w->task, NULL);
- __set_current_state(TASK_RUNNING);
-}
+extern void finish_rcuwait(struct rcuwait *w);
#define rcuwait_wait_event(w, condition, state) \
({ \