sched/wait: Rename wait_queue_t => wait_queue_entry_t
Rename: wait_queue_t => wait_queue_entry_t 'wait_queue_t' was always a slight misnomer: its name implies that it's a "queue", but in reality it's a queue *entry*. The 'real' queue is the wait queue head, which had to carry the name. Start sorting this out by renaming it to 'wait_queue_entry_t'. This also allows the real structure name 'struct __wait_queue' to lose its double underscore and become 'struct wait_queue_entry', which is the more canonical nomenclature for such data types. Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -10,15 +10,18 @@
|
||||
#include <asm/current.h>
|
||||
#include <uapi/linux/wait.h>
|
||||
|
||||
typedef struct __wait_queue wait_queue_t;
|
||||
typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key);
|
||||
int default_wake_function(wait_queue_t *wait, unsigned mode, int flags, void *key);
|
||||
typedef struct wait_queue_entry wait_queue_entry_t;
|
||||
typedef int (*wait_queue_func_t)(wait_queue_entry_t *wait, unsigned mode, int flags, void *key);
|
||||
int default_wake_function(wait_queue_entry_t *wait, unsigned mode, int flags, void *key);
|
||||
|
||||
/* __wait_queue::flags */
|
||||
/* wait_queue_entry::flags */
|
||||
#define WQ_FLAG_EXCLUSIVE 0x01
|
||||
#define WQ_FLAG_WOKEN 0x02
|
||||
|
||||
struct __wait_queue {
|
||||
/*
|
||||
* A single wait-queue entry structure:
|
||||
*/
|
||||
struct wait_queue_entry {
|
||||
unsigned int flags;
|
||||
void *private;
|
||||
wait_queue_func_t func;
|
||||
@@ -34,7 +37,7 @@ struct wait_bit_key {
|
||||
|
||||
struct wait_bit_queue {
|
||||
struct wait_bit_key key;
|
||||
wait_queue_t wait;
|
||||
wait_queue_entry_t wait;
|
||||
};
|
||||
|
||||
struct __wait_queue_head {
|
||||
@@ -55,7 +58,7 @@ struct task_struct;
|
||||
.task_list = { NULL, NULL } }
|
||||
|
||||
#define DECLARE_WAITQUEUE(name, tsk) \
|
||||
wait_queue_t name = __WAITQUEUE_INITIALIZER(name, tsk)
|
||||
wait_queue_entry_t name = __WAITQUEUE_INITIALIZER(name, tsk)
|
||||
|
||||
#define __WAIT_QUEUE_HEAD_INITIALIZER(name) { \
|
||||
.lock = __SPIN_LOCK_UNLOCKED(name.lock), \
|
||||
@@ -88,7 +91,7 @@ extern void __init_waitqueue_head(wait_queue_head_t *q, const char *name, struct
|
||||
# define DECLARE_WAIT_QUEUE_HEAD_ONSTACK(name) DECLARE_WAIT_QUEUE_HEAD(name)
|
||||
#endif
|
||||
|
||||
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
|
||||
static inline void init_waitqueue_entry(wait_queue_entry_t *q, struct task_struct *p)
|
||||
{
|
||||
q->flags = 0;
|
||||
q->private = p;
|
||||
@@ -96,7 +99,7 @@ static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
|
||||
}
|
||||
|
||||
static inline void
|
||||
init_waitqueue_func_entry(wait_queue_t *q, wait_queue_func_t func)
|
||||
init_waitqueue_func_entry(wait_queue_entry_t *q, wait_queue_func_t func)
|
||||
{
|
||||
q->flags = 0;
|
||||
q->private = NULL;
|
||||
@@ -159,11 +162,11 @@ static inline bool wq_has_sleeper(wait_queue_head_t *wq)
|
||||
return waitqueue_active(wq);
|
||||
}
|
||||
|
||||
extern void add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
|
||||
extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t *wait);
|
||||
extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
|
||||
extern void add_wait_queue(wait_queue_head_t *q, wait_queue_entry_t *wait);
|
||||
extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_entry_t *wait);
|
||||
extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_entry_t *wait);
|
||||
|
||||
static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
|
||||
static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_entry_t *new)
|
||||
{
|
||||
list_add(&new->task_list, &head->task_list);
|
||||
}
|
||||
@@ -172,27 +175,27 @@ static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
|
||||
* Used for wake-one threads:
|
||||
*/
|
||||
static inline void
|
||||
__add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t *wait)
|
||||
__add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_entry_t *wait)
|
||||
{
|
||||
wait->flags |= WQ_FLAG_EXCLUSIVE;
|
||||
__add_wait_queue(q, wait);
|
||||
}
|
||||
|
||||
static inline void __add_wait_queue_tail(wait_queue_head_t *head,
|
||||
wait_queue_t *new)
|
||||
static inline void __add_wait_queue_entry_tail(wait_queue_head_t *head,
|
||||
wait_queue_entry_t *new)
|
||||
{
|
||||
list_add_tail(&new->task_list, &head->task_list);
|
||||
}
|
||||
|
||||
static inline void
|
||||
__add_wait_queue_tail_exclusive(wait_queue_head_t *q, wait_queue_t *wait)
|
||||
__add_wait_queue_entry_tail_exclusive(wait_queue_head_t *q, wait_queue_entry_t *wait)
|
||||
{
|
||||
wait->flags |= WQ_FLAG_EXCLUSIVE;
|
||||
__add_wait_queue_tail(q, wait);
|
||||
__add_wait_queue_entry_tail(q, wait);
|
||||
}
|
||||
|
||||
static inline void
|
||||
__remove_wait_queue(wait_queue_head_t *head, wait_queue_t *old)
|
||||
__remove_wait_queue(wait_queue_head_t *head, wait_queue_entry_t *old)
|
||||
{
|
||||
list_del(&old->task_list);
|
||||
}
|
||||
@@ -249,7 +252,7 @@ wait_queue_head_t *bit_waitqueue(void *, int);
|
||||
(!__builtin_constant_p(state) || \
|
||||
state == TASK_INTERRUPTIBLE || state == TASK_KILLABLE) \
|
||||
|
||||
extern void init_wait_entry(wait_queue_t *__wait, int flags);
|
||||
extern void init_wait_entry(wait_queue_entry_t *__wait, int flags);
|
||||
|
||||
/*
|
||||
* The below macro ___wait_event() has an explicit shadow of the __ret
|
||||
@@ -266,7 +269,7 @@ extern void init_wait_entry(wait_queue_t *__wait, int flags);
|
||||
#define ___wait_event(wq, condition, state, exclusive, ret, cmd) \
|
||||
({ \
|
||||
__label__ __out; \
|
||||
wait_queue_t __wait; \
|
||||
wait_queue_entry_t __wait; \
|
||||
long __ret = ret; /* explicit shadow */ \
|
||||
\
|
||||
init_wait_entry(&__wait, exclusive ? WQ_FLAG_EXCLUSIVE : 0); \
|
||||
@@ -620,8 +623,8 @@ do { \
|
||||
__ret; \
|
||||
})
|
||||
|
||||
extern int do_wait_intr(wait_queue_head_t *, wait_queue_t *);
|
||||
extern int do_wait_intr_irq(wait_queue_head_t *, wait_queue_t *);
|
||||
extern int do_wait_intr(wait_queue_head_t *, wait_queue_entry_t *);
|
||||
extern int do_wait_intr_irq(wait_queue_head_t *, wait_queue_entry_t *);
|
||||
|
||||
#define __wait_event_interruptible_locked(wq, condition, exclusive, fn) \
|
||||
({ \
|
||||
@@ -967,17 +970,17 @@ do { \
|
||||
/*
|
||||
* Waitqueues which are removed from the waitqueue_head at wakeup time
|
||||
*/
|
||||
void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state);
|
||||
void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state);
|
||||
long prepare_to_wait_event(wait_queue_head_t *q, wait_queue_t *wait, int state);
|
||||
void finish_wait(wait_queue_head_t *q, wait_queue_t *wait);
|
||||
long wait_woken(wait_queue_t *wait, unsigned mode, long timeout);
|
||||
int woken_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
void prepare_to_wait(wait_queue_head_t *q, wait_queue_entry_t *wait, int state);
|
||||
void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_entry_t *wait, int state);
|
||||
long prepare_to_wait_event(wait_queue_head_t *q, wait_queue_entry_t *wait, int state);
|
||||
void finish_wait(wait_queue_head_t *q, wait_queue_entry_t *wait);
|
||||
long wait_woken(wait_queue_entry_t *wait, unsigned mode, long timeout);
|
||||
int woken_wake_function(wait_queue_entry_t *wait, unsigned mode, int sync, void *key);
|
||||
int autoremove_wake_function(wait_queue_entry_t *wait, unsigned mode, int sync, void *key);
|
||||
int wake_bit_function(wait_queue_entry_t *wait, unsigned mode, int sync, void *key);
|
||||
|
||||
#define DEFINE_WAIT_FUNC(name, function) \
|
||||
wait_queue_t name = { \
|
||||
wait_queue_entry_t name = { \
|
||||
.private = current, \
|
||||
.func = function, \
|
||||
.task_list = LIST_HEAD_INIT((name).task_list), \
|
||||
|
Reference in New Issue
Block a user