diff options
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/smpboot.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index b5a89c0bdf59..571f9fe490ce 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c | |||
@@ -204,7 +204,9 @@ void cpu_idle (void) | |||
204 | idle(); | 204 | idle(); |
205 | } | 205 | } |
206 | 206 | ||
207 | preempt_enable_no_resched(); | ||
207 | schedule(); | 208 | schedule(); |
209 | preempt_disable(); | ||
208 | } | 210 | } |
209 | } | 211 | } |
210 | 212 | ||
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 4b5b088ec102..c4e59bbdc187 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
@@ -472,6 +472,7 @@ void __cpuinit start_secondary(void) | |||
472 | * things done here to the most necessary things. | 472 | * things done here to the most necessary things. |
473 | */ | 473 | */ |
474 | cpu_init(); | 474 | cpu_init(); |
475 | preempt_disable(); | ||
475 | smp_callin(); | 476 | smp_callin(); |
476 | 477 | ||
477 | /* otherwise gcc will move up the smp_processor_id before the cpu_init */ | 478 | /* otherwise gcc will move up the smp_processor_id before the cpu_init */ |