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(); |