arch/i386/kernel/ldt.c | 6 ++++-- arch/x86_64/kernel/ldt.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff -puN arch/i386/kernel/ldt.c~on_each_cpu-ldt-cleanup arch/i386/kernel/ldt.c --- 25/arch/i386/kernel/ldt.c~on_each_cpu-ldt-cleanup 2003-02-26 01:51:27.000000000 -0800 +++ 25-akpm/arch/i386/kernel/ldt.c 2003-02-26 01:52:21.000000000 -0800 @@ -55,13 +55,15 @@ static int alloc_ldt(mm_context_t *pc, i wmb(); if (reload) { +#ifdef CONFIG_SMP preempt_disable(); load_LDT(pc); -#ifdef CONFIG_SMP if (current->mm->cpu_vm_mask != (1 << smp_processor_id())) smp_call_function(flush_ldt, 0, 1, 1); -#endif preempt_enable(); +#else + load_LDT(pc); +#endif } if (oldsize) { if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) diff -puN arch/x86_64/kernel/ldt.c~on_each_cpu-ldt-cleanup arch/x86_64/kernel/ldt.c --- 25/arch/x86_64/kernel/ldt.c~on_each_cpu-ldt-cleanup 2003-02-26 01:51:36.000000000 -0800 +++ 25-akpm/arch/x86_64/kernel/ldt.c 2003-02-26 01:52:37.000000000 -0800 @@ -60,13 +60,15 @@ static int alloc_ldt(mm_context_t *pc, i pc->size = mincount; wmb(); if (reload) { +#ifdef CONFIG_SMP preempt_disable(); load_LDT(pc); -#ifdef CONFIG_SMP if (current->mm->cpu_vm_mask != (1< PAGE_SIZE) _