]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
simple-wait: rename and export the equivalent of waitqueue_active()
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Tue, 27 Aug 2013 18:20:26 +0000 (14:20 -0400)
committerMichal Sojka <sojka@merica.cz>
Sun, 13 Sep 2015 07:47:45 +0000 (09:47 +0200)
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>
include/linux/wait-simple.h
kernel/sched/wait-simple.c

index 4efba4d28c48ae434a032f0684b7cbccfe07ad9f..f86bca2c41d53b7bb02c16b7d685782bad80c39e 100644 (file)
@@ -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
  */
index 2c856267445b3fe22a4fda049ed746e3e27506bf..7dfa86d1f6540e8fed9513924308ee4efe0eedde 100644 (file)
@@ -26,14 +26,6 @@ static inline void __swait_dequeue(struct swaiter *w)
        list_del_init(&w->node);
 }
 
-/* Check whether a head has waiters enqueued */
-static inline bool swait_head_has_waiters(struct swait_head *h)
-{
-       /* Make sure the condition is visible before checking list_empty() */
-       smp_mb();
-       return !list_empty(&h->list);
-}
-
 void __init_swait_head(struct swait_head *head, struct lock_class_key *key)
 {
        raw_spin_lock_init(&head->lock);
@@ -112,7 +104,7 @@ __swait_wake(struct swait_head *head, unsigned int state, unsigned int num)
        unsigned long flags;
        int woken;
 
-       if (!swait_head_has_waiters(head))
+       if (!swaitqueue_active(head))
                return 0;
 
        raw_spin_lock_irqsave(&head->lock, flags);