Commit 8a1c1757 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] schedule_timeout_[un]interruptible() speedup

These functions don't need schedule_timeout()'s barrier.
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 498d0c57
...@@ -1151,19 +1151,22 @@ fastcall signed long __sched schedule_timeout(signed long timeout) ...@@ -1151,19 +1151,22 @@ fastcall signed long __sched schedule_timeout(signed long timeout)
out: out:
return timeout < 0 ? 0 : timeout; return timeout < 0 ? 0 : timeout;
} }
EXPORT_SYMBOL(schedule_timeout); EXPORT_SYMBOL(schedule_timeout);
/*
* We can use __set_current_state() here because schedule_timeout() calls
* schedule() unconditionally.
*/
signed long __sched schedule_timeout_interruptible(signed long timeout) signed long __sched schedule_timeout_interruptible(signed long timeout)
{ {
set_current_state(TASK_INTERRUPTIBLE); __set_current_state(TASK_INTERRUPTIBLE);
return schedule_timeout(timeout); return schedule_timeout(timeout);
} }
EXPORT_SYMBOL(schedule_timeout_interruptible); EXPORT_SYMBOL(schedule_timeout_interruptible);
signed long __sched schedule_timeout_uninterruptible(signed long timeout) signed long __sched schedule_timeout_uninterruptible(signed long timeout)
{ {
set_current_state(TASK_UNINTERRUPTIBLE); __set_current_state(TASK_UNINTERRUPTIBLE);
return schedule_timeout(timeout); return schedule_timeout(timeout);
} }
EXPORT_SYMBOL(schedule_timeout_uninterruptible); EXPORT_SYMBOL(schedule_timeout_uninterruptible);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment