diff --git a/[refs] b/[refs] index db70093c7a39..22391d1adb18 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5 +refs/heads/master: 8eb90c30e0e815a1308828352eabd03ca04229dd diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 18d38e4ec7ba..66ca5d9ba83c 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -2224,7 +2224,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) * yield - it could be a while. */ if (unlikely(on_rq)) { - schedule_timeout_uninterruptible(1); + ktime_t to = ktime_set(0, NSEC_PER_SEC/HZ); + + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_hrtimeout(&to, HRTIMER_MODE_REL); continue; }