From 4ed2e15612f4ee53666bbee5b47842e408c3275a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:46 -0500 Subject: [PATCH] ARM: scheduling fixups commit 181e8de44309e51bd36c89d24d3902ff8c794dff in tip. Signed-off-by: Paul Gortmaker --- arch/arm/kernel/entry-common.S | 3 ++- arch/arm/kernel/process.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 2c1db77..1d2a386 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S @@ -52,7 +52,8 @@ work_pending: b ret_slow_syscall @ Check work again work_resched: - bl schedule + bl __schedule + /* * "slow" syscall return path. "why" tells us if this was a real syscall. */ diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index acf5e6f..3ebef83 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -173,9 +173,11 @@ void cpu_idle(void) } leds_event(led_idle_end); tick_nohz_restart_sched_tick(); - preempt_enable_no_resched(); - schedule(); + local_irq_disable(); + __preempt_enable_no_resched(); + __schedule(); preempt_disable(); + local_irq_enable(); } } -- 1.7.0.4