diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 15:55:01 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 15:55:01 -0400 |
| commit | ecc8b655b38a880b578146895e0e1e2d477ca2c0 (patch) | |
| tree | 4acce96bac00909fa9472f0c0669714243ea5bee /arch | |
| parent | 2528ce3237be4e900f5eaa455490146e1422e424 (diff) | |
| parent | e338125b8a886923ba8367207c144764dc352584 (diff) | |
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well
nohz: prevent tick stop outside of the idle loop
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/avr32/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/blackfin/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/kernel/idle.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 4 | ||||
| -rw-r--r-- | arch/s390/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/sh/kernel/process_32.c | 2 | ||||
| -rw-r--r-- | arch/sparc64/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/um/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/process_32.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/process_64.c | 2 |
12 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 199b3680118b..89bfded70a1f 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
| @@ -162,7 +162,7 @@ void cpu_idle(void) | |||
| 162 | if (!idle) | 162 | if (!idle) |
| 163 | idle = default_idle; | 163 | idle = default_idle; |
| 164 | leds_event(led_idle_start); | 164 | leds_event(led_idle_start); |
| 165 | tick_nohz_stop_sched_tick(); | 165 | tick_nohz_stop_sched_tick(1); |
| 166 | while (!need_resched()) | 166 | while (!need_resched()) |
| 167 | idle(); | 167 | idle(); |
| 168 | leds_event(led_idle_end); | 168 | leds_event(led_idle_end); |
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index 6cf9df176274..ff820a9e743a 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c | |||
| @@ -31,7 +31,7 @@ void cpu_idle(void) | |||
| 31 | { | 31 | { |
| 32 | /* endless idle loop with no priority at all */ | 32 | /* endless idle loop with no priority at all */ |
| 33 | while (1) { | 33 | while (1) { |
| 34 | tick_nohz_stop_sched_tick(); | 34 | tick_nohz_stop_sched_tick(1); |
| 35 | while (!need_resched()) | 35 | while (!need_resched()) |
| 36 | cpu_idle_sleep(); | 36 | cpu_idle_sleep(); |
| 37 | tick_nohz_restart_sched_tick(); | 37 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index 53c2cd255441..77800dd83e57 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c | |||
| @@ -105,7 +105,7 @@ void cpu_idle(void) | |||
| 105 | #endif | 105 | #endif |
| 106 | if (!idle) | 106 | if (!idle) |
| 107 | idle = default_idle; | 107 | idle = default_idle; |
| 108 | tick_nohz_stop_sched_tick(); | 108 | tick_nohz_stop_sched_tick(1); |
| 109 | while (!need_resched()) | 109 | while (!need_resched()) |
| 110 | idle(); | 110 | idle(); |
| 111 | tick_nohz_restart_sched_tick(); | 111 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index c06f5b5d764c..b16facd9ea8e 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
| @@ -53,7 +53,7 @@ void __noreturn cpu_idle(void) | |||
| 53 | { | 53 | { |
| 54 | /* endless idle loop with no priority at all */ | 54 | /* endless idle loop with no priority at all */ |
| 55 | while (1) { | 55 | while (1) { |
| 56 | tick_nohz_stop_sched_tick(); | 56 | tick_nohz_stop_sched_tick(1); |
| 57 | while (!need_resched()) { | 57 | while (!need_resched()) { |
| 58 | #ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG | 58 | #ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG |
| 59 | extern void smtc_idle_loop_hook(void); | 59 | extern void smtc_idle_loop_hook(void); |
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c index c3cf0e8f3ac1..d308a9f70f1b 100644 --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c | |||
| @@ -60,7 +60,7 @@ void cpu_idle(void) | |||
| 60 | 60 | ||
| 61 | set_thread_flag(TIF_POLLING_NRFLAG); | 61 | set_thread_flag(TIF_POLLING_NRFLAG); |
| 62 | while (1) { | 62 | while (1) { |
| 63 | tick_nohz_stop_sched_tick(); | 63 | tick_nohz_stop_sched_tick(1); |
| 64 | while (!need_resched() && !cpu_should_die()) { | 64 | while (!need_resched() && !cpu_should_die()) { |
| 65 | ppc64_runlatch_off(); | 65 | ppc64_runlatch_off(); |
| 66 | 66 | ||
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index b72120751bbe..70b688c1aefb 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c | |||
| @@ -561,7 +561,7 @@ static void yield_shared_processor(void) | |||
| 561 | static void iseries_shared_idle(void) | 561 | static void iseries_shared_idle(void) |
| 562 | { | 562 | { |
| 563 | while (1) { | 563 | while (1) { |
| 564 | tick_nohz_stop_sched_tick(); | 564 | tick_nohz_stop_sched_tick(1); |
| 565 | while (!need_resched() && !hvlpevent_is_pending()) { | 565 | while (!need_resched() && !hvlpevent_is_pending()) { |
| 566 | local_irq_disable(); | 566 | local_irq_disable(); |
| 567 | ppc64_runlatch_off(); | 567 | ppc64_runlatch_off(); |
| @@ -591,7 +591,7 @@ static void iseries_dedicated_idle(void) | |||
| 591 | set_thread_flag(TIF_POLLING_NRFLAG); | 591 | set_thread_flag(TIF_POLLING_NRFLAG); |
| 592 | 592 | ||
| 593 | while (1) { | 593 | while (1) { |
| 594 | tick_nohz_stop_sched_tick(); | 594 | tick_nohz_stop_sched_tick(1); |
| 595 | if (!need_resched()) { | 595 | if (!need_resched()) { |
| 596 | while (!need_resched()) { | 596 | while (!need_resched()) { |
| 597 | ppc64_runlatch_off(); | 597 | ppc64_runlatch_off(); |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 85defd01d293..9839767d0842 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
| @@ -142,7 +142,7 @@ static void default_idle(void) | |||
| 142 | void cpu_idle(void) | 142 | void cpu_idle(void) |
| 143 | { | 143 | { |
| 144 | for (;;) { | 144 | for (;;) { |
| 145 | tick_nohz_stop_sched_tick(); | 145 | tick_nohz_stop_sched_tick(1); |
| 146 | while (!need_resched()) | 146 | while (!need_resched()) |
| 147 | default_idle(); | 147 | default_idle(); |
| 148 | tick_nohz_restart_sched_tick(); | 148 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index b98e37a1f54c..921892c351da 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
| @@ -86,7 +86,7 @@ void cpu_idle(void) | |||
| 86 | if (!idle) | 86 | if (!idle) |
| 87 | idle = default_idle; | 87 | idle = default_idle; |
| 88 | 88 | ||
| 89 | tick_nohz_stop_sched_tick(); | 89 | tick_nohz_stop_sched_tick(1); |
| 90 | while (!need_resched()) | 90 | while (!need_resched()) |
| 91 | idle(); | 91 | idle(); |
| 92 | tick_nohz_restart_sched_tick(); | 92 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 31ea752d307b..8a9cd3e165b9 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
| @@ -96,7 +96,7 @@ void cpu_idle(void) | |||
| 96 | set_thread_flag(TIF_POLLING_NRFLAG); | 96 | set_thread_flag(TIF_POLLING_NRFLAG); |
| 97 | 97 | ||
| 98 | while(1) { | 98 | while(1) { |
| 99 | tick_nohz_stop_sched_tick(); | 99 | tick_nohz_stop_sched_tick(1); |
| 100 | 100 | ||
| 101 | while (!need_resched() && !cpu_is_offline(cpu)) | 101 | while (!need_resched() && !cpu_is_offline(cpu)) |
| 102 | sparc64_yield(cpu); | 102 | sparc64_yield(cpu); |
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 83603cfbde81..a1c6d07cac3e 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
| @@ -243,7 +243,7 @@ void default_idle(void) | |||
| 243 | if (need_resched()) | 243 | if (need_resched()) |
| 244 | schedule(); | 244 | schedule(); |
| 245 | 245 | ||
| 246 | tick_nohz_stop_sched_tick(); | 246 | tick_nohz_stop_sched_tick(1); |
| 247 | nsecs = disable_timer(); | 247 | nsecs = disable_timer(); |
| 248 | idle_sleep(nsecs); | 248 | idle_sleep(nsecs); |
| 249 | tick_nohz_restart_sched_tick(); | 249 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 0c3927accb00..53bc653ed5ca 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
| @@ -128,7 +128,7 @@ void cpu_idle(void) | |||
| 128 | 128 | ||
| 129 | /* endless idle loop with no priority at all */ | 129 | /* endless idle loop with no priority at all */ |
| 130 | while (1) { | 130 | while (1) { |
| 131 | tick_nohz_stop_sched_tick(); | 131 | tick_nohz_stop_sched_tick(1); |
| 132 | while (!need_resched()) { | 132 | while (!need_resched()) { |
| 133 | 133 | ||
| 134 | check_pgt_cache(); | 134 | check_pgt_cache(); |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index e8a8e1b99817..3fb62a7d9a16 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
| @@ -120,7 +120,7 @@ void cpu_idle(void) | |||
| 120 | current_thread_info()->status |= TS_POLLING; | 120 | current_thread_info()->status |= TS_POLLING; |
| 121 | /* endless idle loop with no priority at all */ | 121 | /* endless idle loop with no priority at all */ |
| 122 | while (1) { | 122 | while (1) { |
| 123 | tick_nohz_stop_sched_tick(); | 123 | tick_nohz_stop_sched_tick(1); |
| 124 | while (!need_resched()) { | 124 | while (!need_resched()) { |
| 125 | 125 | ||
| 126 | rmb(); | 126 | rmb(); |
