diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 27125e413576..c8e40b7005c0 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -2286,7 +2286,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) | |||
2286 | * yield - it could be a while. | 2286 | * yield - it could be a while. |
2287 | */ | 2287 | */ |
2288 | if (unlikely(on_rq)) { | 2288 | if (unlikely(on_rq)) { |
2289 | schedule_timeout_uninterruptible(1); | 2289 | ktime_t to = ktime_set(0, NSEC_PER_SEC/HZ); |
2290 | |||
2291 | set_current_state(TASK_UNINTERRUPTIBLE); | ||
2292 | schedule_hrtimeout(&to, HRTIMER_MODE_REL); | ||
2290 | continue; | 2293 | continue; |
2291 | } | 2294 | } |
2292 | 2295 | ||