aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2013-08-27 14:20:26 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-11-13 11:21:27 -0500
commitc53e70dbe9288ef8952cc1083fa7cdf88bf442c3 (patch)
tree69ec9244e6756f3f6c0bccc9d6d99ec1dc2498ad /include/linux
parent1dd317c5ebffcad01222f96551cb5e4b8b9fd605 (diff)
simple-wait: rename and export the equivalent of waitqueue_active()
The function "swait_head_has_waiters()" was internalized into wait-simple.c but it parallels the waitqueue_active of normal waitqueue support. Given that there are over 150 waitqueue_active users in drivers/ fs/ kernel/ and the like, lets make it globally visible, and rename it to parallel the waitqueue_active accordingly. We'll need to do this if we expect to expand its usage beyond RT. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/wait-simple.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/wait-simple.h b/include/linux/wait-simple.h
index 4efba4d28c48..f86bca2c41d5 100644
--- a/include/linux/wait-simple.h
+++ b/include/linux/wait-simple.h
@@ -47,6 +47,14 @@ extern void swait_prepare(struct swait_head *head, struct swaiter *w, int state)
extern void swait_finish_locked(struct swait_head *head, struct swaiter *w);
extern void swait_finish(struct swait_head *head, struct swaiter *w);
+/* Check whether a head has waiters enqueued */
+static inline bool swaitqueue_active(struct swait_head *h)
+{
+ /* Make sure the condition is visible before checking list_empty() */
+ smp_mb();
+ return !list_empty(&h->list);
+}
+
/*
* Wakeup functions
*/