498 lines
13 KiB
Diff
498 lines
13 KiB
Diff
From dafde92bde5c9bbef508269c0959403be9ad89e4 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Mon, 21 Mar 2011 12:33:18 +0100
|
|
Subject: [PATCH 032/303] sched: Use schedule_preempt_disabled()
|
|
|
|
Coccinelle based conversion.
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
arch/arm/kernel/process.c | 4 +---
|
|
arch/avr32/kernel/process.c | 4 +---
|
|
arch/blackfin/kernel/process.c | 4 +---
|
|
arch/cris/kernel/process.c | 4 +---
|
|
arch/frv/kernel/process.c | 4 +---
|
|
arch/h8300/kernel/process.c | 4 +---
|
|
arch/ia64/kernel/process.c | 4 +---
|
|
arch/m32r/kernel/process.c | 4 +---
|
|
arch/m68k/kernel/process_mm.c | 4 +---
|
|
arch/m68k/kernel/process_no.c | 4 +---
|
|
arch/microblaze/kernel/process.c | 4 +---
|
|
arch/mips/kernel/process.c | 4 +---
|
|
arch/mn10300/kernel/process.c | 4 +---
|
|
arch/parisc/kernel/process.c | 4 +---
|
|
arch/powerpc/kernel/idle.c | 8 ++++----
|
|
arch/powerpc/platforms/iseries/setup.c | 8 ++------
|
|
arch/s390/kernel/process.c | 4 +---
|
|
arch/score/kernel/process.c | 4 +---
|
|
arch/sh/kernel/idle.c | 4 +---
|
|
arch/sparc/kernel/process_32.c | 8 ++------
|
|
arch/sparc/kernel/process_64.c | 10 ++++------
|
|
arch/tile/kernel/process.c | 4 +---
|
|
arch/x86/kernel/process_32.c | 4 +---
|
|
arch/x86/kernel/process_64.c | 4 +---
|
|
arch/xtensa/kernel/process.c | 4 +---
|
|
init/main.c | 5 +----
|
|
kernel/mutex.c | 4 +---
|
|
kernel/softirq.c | 4 +---
|
|
28 files changed, 36 insertions(+), 95 deletions(-)
|
|
|
|
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
|
|
index e68d251..3577921 100644
|
|
--- a/arch/arm/kernel/process.c
|
|
+++ b/arch/arm/kernel/process.c
|
|
@@ -215,9 +215,7 @@ void cpu_idle(void)
|
|
}
|
|
leds_event(led_idle_end);
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
|
|
index ef5a2a0..c8724c9 100644
|
|
--- a/arch/avr32/kernel/process.c
|
|
+++ b/arch/avr32/kernel/process.c
|
|
@@ -38,9 +38,7 @@ void cpu_idle(void)
|
|
while (!need_resched())
|
|
cpu_idle_sleep();
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
|
|
index 6a80a9e..11acc10 100644
|
|
--- a/arch/blackfin/kernel/process.c
|
|
+++ b/arch/blackfin/kernel/process.c
|
|
@@ -92,9 +92,7 @@ void cpu_idle(void)
|
|
while (!need_resched())
|
|
idle();
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c
|
|
index aa585e4..d8f50ff 100644
|
|
--- a/arch/cris/kernel/process.c
|
|
+++ b/arch/cris/kernel/process.c
|
|
@@ -115,9 +115,7 @@ void cpu_idle (void)
|
|
idle = default_idle;
|
|
idle();
|
|
}
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
|
|
index 3901df1..29cc497 100644
|
|
--- a/arch/frv/kernel/process.c
|
|
+++ b/arch/frv/kernel/process.c
|
|
@@ -92,9 +92,7 @@ void cpu_idle(void)
|
|
idle();
|
|
}
|
|
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
|
|
index 933bd38..1a173b3 100644
|
|
--- a/arch/h8300/kernel/process.c
|
|
+++ b/arch/h8300/kernel/process.c
|
|
@@ -81,9 +81,7 @@ void cpu_idle(void)
|
|
while (1) {
|
|
while (!need_resched())
|
|
idle();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
|
|
index 6d33c5c..9dc52b6 100644
|
|
--- a/arch/ia64/kernel/process.c
|
|
+++ b/arch/ia64/kernel/process.c
|
|
@@ -330,9 +330,7 @@ cpu_idle (void)
|
|
normal_xtp();
|
|
#endif
|
|
}
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
check_pgt_cache();
|
|
if (cpu_is_offline(cpu))
|
|
play_dead();
|
|
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c
|
|
index 422bea9..3a4a32b 100644
|
|
--- a/arch/m32r/kernel/process.c
|
|
+++ b/arch/m32r/kernel/process.c
|
|
@@ -90,9 +90,7 @@ void cpu_idle (void)
|
|
|
|
idle();
|
|
}
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/m68k/kernel/process_mm.c b/arch/m68k/kernel/process_mm.c
|
|
index aa4ffb8..c413aa0 100644
|
|
--- a/arch/m68k/kernel/process_mm.c
|
|
+++ b/arch/m68k/kernel/process_mm.c
|
|
@@ -94,9 +94,7 @@ void cpu_idle(void)
|
|
while (1) {
|
|
while (!need_resched())
|
|
idle();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/m68k/kernel/process_no.c b/arch/m68k/kernel/process_no.c
|
|
index 5e1078c..f7fe6c3 100644
|
|
--- a/arch/m68k/kernel/process_no.c
|
|
+++ b/arch/m68k/kernel/process_no.c
|
|
@@ -73,9 +73,7 @@ void cpu_idle(void)
|
|
/* endless idle loop with no priority at all */
|
|
while (1) {
|
|
idle();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c
|
|
index 95cc295..d3b2b42 100644
|
|
--- a/arch/microblaze/kernel/process.c
|
|
+++ b/arch/microblaze/kernel/process.c
|
|
@@ -108,9 +108,7 @@ void cpu_idle(void)
|
|
idle();
|
|
tick_nohz_restart_sched_tick();
|
|
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
check_pgt_cache();
|
|
}
|
|
}
|
|
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
|
|
index bf128d7..b476ace 100644
|
|
--- a/arch/mips/kernel/process.c
|
|
+++ b/arch/mips/kernel/process.c
|
|
@@ -76,9 +76,7 @@ void __noreturn cpu_idle(void)
|
|
play_dead();
|
|
#endif
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/mn10300/kernel/process.c b/arch/mn10300/kernel/process.c
|
|
index 28eec31..cac401d 100644
|
|
--- a/arch/mn10300/kernel/process.c
|
|
+++ b/arch/mn10300/kernel/process.c
|
|
@@ -123,9 +123,7 @@ void cpu_idle(void)
|
|
idle();
|
|
}
|
|
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
|
|
index 4b4b918..f6eb367 100644
|
|
--- a/arch/parisc/kernel/process.c
|
|
+++ b/arch/parisc/kernel/process.c
|
|
@@ -71,9 +71,7 @@ void cpu_idle(void)
|
|
while (1) {
|
|
while (!need_resched())
|
|
barrier();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
check_pgt_cache();
|
|
}
|
|
}
|
|
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
|
|
index 39a2baa..f46dae5 100644
|
|
--- a/arch/powerpc/kernel/idle.c
|
|
+++ b/arch/powerpc/kernel/idle.c
|
|
@@ -94,11 +94,11 @@ void cpu_idle(void)
|
|
HMT_medium();
|
|
ppc64_runlatch_on();
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- if (cpu_should_die())
|
|
+ if (cpu_should_die()) {
|
|
+ preempt_enable_no_resched();
|
|
cpu_die();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ }
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c
|
|
index ea0acbd..e0c5b49 100644
|
|
--- a/arch/powerpc/platforms/iseries/setup.c
|
|
+++ b/arch/powerpc/platforms/iseries/setup.c
|
|
@@ -582,9 +582,7 @@ static void iseries_shared_idle(void)
|
|
if (hvlpevent_is_pending())
|
|
process_iSeries_events();
|
|
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
@@ -611,9 +609,7 @@ static void iseries_dedicated_idle(void)
|
|
|
|
ppc64_runlatch_on();
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
|
|
index 53088e2..fa093f7 100644
|
|
--- a/arch/s390/kernel/process.c
|
|
+++ b/arch/s390/kernel/process.c
|
|
@@ -94,9 +94,7 @@ void cpu_idle(void)
|
|
while (!need_resched())
|
|
default_idle();
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/score/kernel/process.c b/arch/score/kernel/process.c
|
|
index 25d0803..2707023 100644
|
|
--- a/arch/score/kernel/process.c
|
|
+++ b/arch/score/kernel/process.c
|
|
@@ -53,9 +53,7 @@ void __noreturn cpu_idle(void)
|
|
while (!need_resched())
|
|
barrier();
|
|
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c
|
|
index db4ecd7..b7c18f0 100644
|
|
--- a/arch/sh/kernel/idle.c
|
|
+++ b/arch/sh/kernel/idle.c
|
|
@@ -112,9 +112,7 @@ void cpu_idle(void)
|
|
}
|
|
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
|
|
index f793742..935fdbc 100644
|
|
--- a/arch/sparc/kernel/process_32.c
|
|
+++ b/arch/sparc/kernel/process_32.c
|
|
@@ -113,9 +113,7 @@ void cpu_idle(void)
|
|
while (!need_resched())
|
|
cpu_relax();
|
|
}
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
check_pgt_cache();
|
|
}
|
|
}
|
|
@@ -138,9 +136,7 @@ void cpu_idle(void)
|
|
while (!need_resched())
|
|
cpu_relax();
|
|
}
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
check_pgt_cache();
|
|
}
|
|
}
|
|
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c
|
|
index 3739a06..8ba0dbe 100644
|
|
--- a/arch/sparc/kernel/process_64.c
|
|
+++ b/arch/sparc/kernel/process_64.c
|
|
@@ -102,15 +102,13 @@ void cpu_idle(void)
|
|
|
|
tick_nohz_restart_sched_tick();
|
|
|
|
- preempt_enable_no_resched();
|
|
-
|
|
#ifdef CONFIG_HOTPLUG_CPU
|
|
- if (cpu_is_offline(cpu))
|
|
+ if (cpu_is_offline(cpu)) {
|
|
+ preempt_enable_no_resched();
|
|
cpu_play_dead();
|
|
+ }
|
|
#endif
|
|
-
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c
|
|
index 9c45d8b..5a8b631 100644
|
|
--- a/arch/tile/kernel/process.c
|
|
+++ b/arch/tile/kernel/process.c
|
|
@@ -106,9 +106,7 @@ void cpu_idle(void)
|
|
current_thread_info()->status |= TS_POLLING;
|
|
}
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
|
|
index 8598296..ada175e 100644
|
|
--- a/arch/x86/kernel/process_32.c
|
|
+++ b/arch/x86/kernel/process_32.c
|
|
@@ -117,9 +117,7 @@ void cpu_idle(void)
|
|
start_critical_timings();
|
|
}
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
|
|
index 6a364a6..08840ab 100644
|
|
--- a/arch/x86/kernel/process_64.c
|
|
+++ b/arch/x86/kernel/process_64.c
|
|
@@ -150,9 +150,7 @@ void cpu_idle(void)
|
|
}
|
|
|
|
tick_nohz_restart_sched_tick();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c
|
|
index 47041e7..2c90047 100644
|
|
--- a/arch/xtensa/kernel/process.c
|
|
+++ b/arch/xtensa/kernel/process.c
|
|
@@ -113,9 +113,7 @@ void cpu_idle(void)
|
|
while (1) {
|
|
while (!need_resched())
|
|
platform_idle();
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
}
|
|
|
|
diff --git a/init/main.c b/init/main.c
|
|
index 5d0eb1d..feda146 100644
|
|
--- a/init/main.c
|
|
+++ b/init/main.c
|
|
@@ -378,11 +378,8 @@ static noinline void __init_refok rest_init(void)
|
|
* at least once to get things moving:
|
|
*/
|
|
init_idle_bootup_task(current);
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
-
|
|
+ schedule_preempt_disabled();
|
|
/* Call into cpu_idle with preempt disabled */
|
|
- preempt_disable();
|
|
cpu_idle();
|
|
}
|
|
|
|
diff --git a/kernel/mutex.c b/kernel/mutex.c
|
|
index 89096dd..a307cc9 100644
|
|
--- a/kernel/mutex.c
|
|
+++ b/kernel/mutex.c
|
|
@@ -240,9 +240,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
|
|
|
|
/* didn't get the lock, go to sleep: */
|
|
spin_unlock_mutex(&lock->wait_lock, flags);
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
spin_lock_mutex(&lock->wait_lock, flags);
|
|
}
|
|
|
|
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
|
index 2c71d91..c9da2c8 100644
|
|
--- a/kernel/softirq.c
|
|
+++ b/kernel/softirq.c
|
|
@@ -744,9 +744,7 @@ static int run_ksoftirqd(void * __bind_cpu)
|
|
while (!kthread_should_stop()) {
|
|
preempt_disable();
|
|
if (!local_softirq_pending()) {
|
|
- preempt_enable_no_resched();
|
|
- schedule();
|
|
- preempt_disable();
|
|
+ schedule_preempt_disabled();
|
|
}
|
|
|
|
__set_current_state(TASK_RUNNING);
|