patch-2.1.116 linux/arch/i386/kernel/smp.c
Next file: linux/arch/i386/kernel/traps.c
Previous file: linux/arch/i386/kernel/signal.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Sat Aug 15 00:40:21 1998
- Orig file:
v2.1.115/linux/arch/i386/kernel/smp.c
- Orig date:
Tue Jul 28 14:21:07 1998
diff -u --recursive --new-file v2.1.115/linux/arch/i386/kernel/smp.c linux/arch/i386/kernel/smp.c
@@ -658,6 +658,7 @@
{
unsigned long apic_phys, ioapic_phys;
+ memory_start = PAGE_ALIGN(memory_start);
if (smp_found_config) {
apic_phys = mp_lapic_addr;
ioapic_phys = mp_ioapic_addr;
@@ -749,7 +750,11 @@
/*
* We don't actually need to load the full TSS,
* basically just the stack pointer and the eip.
+ *
+ * Get the scheduler lock, because we're going
+ * to release it as part of the "reschedule" return.
*/
+ spin_lock(&scheduler_lock);
asm volatile("lldt %%ax": :"a" (p->ldt));
asm volatile("ltr %%ax": :"a" (p->tr));
asm volatile(
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov