Skip to content

Commit 69b27ba

Browse files
akpm00torvalds
authored andcommitted
sched: add schedule_timeout_idle()
This will be needed in the patch "mm, oom: introduce oom reaper". Acked-by: Michal Hocko <mhocko@suse.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 1701f68 commit 69b27ba

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

include/linux/sched.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ extern signed long schedule_timeout(signed long timeout);
426426
extern signed long schedule_timeout_interruptible(signed long timeout);
427427
extern signed long schedule_timeout_killable(signed long timeout);
428428
extern signed long schedule_timeout_uninterruptible(signed long timeout);
429+
extern signed long schedule_timeout_idle(signed long timeout);
429430
asmlinkage void schedule(void);
430431
extern void schedule_preempt_disabled(void);
431432

kernel/time/timer.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1566,6 +1566,17 @@ signed long __sched schedule_timeout_uninterruptible(signed long timeout)
15661566
}
15671567
EXPORT_SYMBOL(schedule_timeout_uninterruptible);
15681568

1569+
/*
1570+
* Like schedule_timeout_uninterruptible(), except this task will not contribute
1571+
* to load average.
1572+
*/
1573+
signed long __sched schedule_timeout_idle(signed long timeout)
1574+
{
1575+
__set_current_state(TASK_IDLE);
1576+
return schedule_timeout(timeout);
1577+
}
1578+
EXPORT_SYMBOL(schedule_timeout_idle);
1579+
15691580
#ifdef CONFIG_HOTPLUG_CPU
15701581
static void migrate_timer_list(struct tvec_base *new_base, struct hlist_head *head)
15711582
{

0 commit comments

Comments
 (0)