diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 054a6012de99..d48408142503 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -969,14 +969,6 @@ static struct rq *task_rq_lock(struct task_struct *p, unsigned long *flags) | |||
969 | } | 969 | } |
970 | } | 970 | } |
971 | 971 | ||
972 | void task_rq_unlock_wait(struct task_struct *p) | ||
973 | { | ||
974 | struct rq *rq = task_rq(p); | ||
975 | |||
976 | smp_mb(); /* spin-unlock-wait is not a full memory barrier */ | ||
977 | raw_spin_unlock_wait(&rq->lock); | ||
978 | } | ||
979 | |||
980 | static void __task_rq_unlock(struct rq *rq) | 972 | static void __task_rq_unlock(struct rq *rq) |
981 | __releases(rq->lock) | 973 | __releases(rq->lock) |
982 | { | 974 | { |
@@ -4062,6 +4054,23 @@ int __sched wait_for_completion_killable(struct completion *x) | |||
4062 | EXPORT_SYMBOL(wait_for_completion_killable); | 4054 | EXPORT_SYMBOL(wait_for_completion_killable); |
4063 | 4055 | ||
4064 | /** | 4056 | /** |
4057 | * wait_for_completion_killable_timeout: - waits for completion of a task (w/(to,killable)) | ||
4058 | * @x: holds the state of this particular completion | ||
4059 | * @timeout: timeout value in jiffies | ||
4060 | * | ||
4061 | * This waits for either a completion of a specific task to be | ||
4062 | * signaled or for a specified timeout to expire. It can be | ||
4063 | * interrupted by a kill signal. The timeout is in jiffies. | ||
4064 | */ | ||
4065 | unsigned long __sched | ||
4066 | wait_for_completion_killable_timeout(struct completion *x, | ||
4067 | unsigned long timeout) | ||
4068 | { | ||
4069 | return wait_for_common(x, timeout, TASK_KILLABLE); | ||
4070 | } | ||
4071 | EXPORT_SYMBOL(wait_for_completion_killable_timeout); | ||
4072 | |||
4073 | /** | ||
4065 | * try_wait_for_completion - try to decrement a completion without blocking | 4074 | * try_wait_for_completion - try to decrement a completion without blocking |
4066 | * @x: completion structure | 4075 | * @x: completion structure |
4067 | * | 4076 | * |