Home
last modified time | relevance | path

Searched refs:wq_head (Results 1 – 5 of 5) sorted by relevance

/Linux-v4.19/include/linux/
Dwait.h61 extern void __init_waitqueue_head(struct wait_queue_head *wq_head, const char *name, struct lock_cl…
63 #define init_waitqueue_head(wq_head) \ argument
67 __init_waitqueue_head((wq_head), #wq_head, &__key); \
124 static inline int waitqueue_active(struct wait_queue_head *wq_head) in waitqueue_active() argument
126 return !list_empty(&wq_head->head); in waitqueue_active()
137 static inline bool wq_has_sleeper(struct wait_queue_head *wq_head) in wq_has_sleeper() argument
147 return waitqueue_active(wq_head); in wq_has_sleeper()
150 extern void add_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry);
151 extern void add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_e…
152 extern void remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry);
[all …]
Dwait_bit.h26 void __wake_up_bit(struct wait_queue_head *wq_head, void *word, int bit);
27 int __wait_on_bit(struct wait_queue_head *wq_head, struct wait_bit_queue_entry *wbq_entry, wait_bit…
28 int __wait_on_bit_lock(struct wait_queue_head *wq_head, struct wait_bit_queue_entry *wbq_entry, wai…
/Linux-v4.19/kernel/sched/
Dwait.c8 void __init_waitqueue_head(struct wait_queue_head *wq_head, const char *name, struct lock_class_key… in __init_waitqueue_head() argument
10 spin_lock_init(&wq_head->lock); in __init_waitqueue_head()
11 lockdep_set_class_and_name(&wq_head->lock, key, name); in __init_waitqueue_head()
12 INIT_LIST_HEAD(&wq_head->head); in __init_waitqueue_head()
17 void add_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in add_wait_queue() argument
22 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue()
23 __add_wait_queue(wq_head, wq_entry); in add_wait_queue()
24 spin_unlock_irqrestore(&wq_head->lock, flags); in add_wait_queue()
28 void add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry) in add_wait_queue_exclusive() argument
33 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue_exclusive()
[all …]
Dwait_bit.c40 __wait_on_bit(struct wait_queue_head *wq_head, struct wait_bit_queue_entry *wbq_entry, in __wait_on_bit() argument
46 prepare_to_wait(wq_head, &wbq_entry->wq_entry, mode); in __wait_on_bit()
51 finish_wait(wq_head, &wbq_entry->wq_entry); in __wait_on_bit()
60 struct wait_queue_head *wq_head = bit_waitqueue(word, bit); in out_of_line_wait_on_bit() local
63 return __wait_on_bit(wq_head, &wq_entry, action, mode); in out_of_line_wait_on_bit()
71 struct wait_queue_head *wq_head = bit_waitqueue(word, bit); in out_of_line_wait_on_bit_timeout() local
76 return __wait_on_bit(wq_head, &wq_entry, action, mode); in out_of_line_wait_on_bit_timeout()
81 __wait_on_bit_lock(struct wait_queue_head *wq_head, struct wait_bit_queue_entry *wbq_entry, in __wait_on_bit_lock() argument
87 prepare_to_wait_exclusive(wq_head, &wbq_entry->wq_entry, mode); in __wait_on_bit_lock()
97 finish_wait(wq_head, &wbq_entry->wq_entry); in __wait_on_bit_lock()
[all …]
/Linux-v4.19/tools/memory-model/Documentation/
Drecipes.txt506 * @cond = true; prepare_to_wait(&wq_head, &wait, state);
508 * if (waitqueue_active(wq_head)) if (@cond)
509 * wake_up(wq_head); break;
512 * finish_wait(&wq_head, &wait);
515 On CPU1, prepare_to_wait() contains both a store to wq_head and a call