Date: Tue, 26 Aug 1997 11:10:38 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/conf files src/sys/i386/i386 locore.s machdep.c mp_machdep.c mpboot.s mplock.s pmap.c swtch.s trap.c vm_machdep.c src/sys/i386/include smp.h src/sys/kern init_main.c init_smp.c Message-ID: <199708261810.LAA25322@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 1997/08/26 11:10:38 PDT
Modified files:
sys/conf files
sys/i386/i386 locore.s machdep.c mp_machdep.c mpboot.s
mplock.s pmap.c swtch.s trap.c
vm_machdep.c
sys/i386/include smp.h
sys/kern init_main.c
Removed files:
sys/kern init_smp.c
Log:
Clean up the SMP AP bootstrap and eliminate the wretched idle procs.
- We now have enough per-cpu idle context, the real idle loop has been
revived (cpu's halt now with nothing to do).
- Some preliminary support for running some operations outside the
global lock (eg: zeroing "free but not yet zeroed pages") is present
but appears to cause problems. Off by default.
- the smp_active sysctl now behaves differently. It's merely a 'true/false'
option. Setting smp_active to zero causes the AP's to halt in the idle
loop and stop scheduling processes.
- bootstrap is a lot safer. Instead of sharing a statically compiled in
stack a number of times (which has caused lots of problems) and then
abandoning it, we use the idle context to boot the AP's directly. This
should help >2 cpu support since the bootlock stuff was in doubt.
- print physical apic id in traps.. helps identify private pages getting
out of sync. (You don't want to know how much hair I tore out with this!)
More cleanup to follow, this is more of a checkpoint than a
'finished' thing.
Revision Changes Path
1.111 +0 -1 src/sys/conf/files
1.96 +24 -12 src/sys/i386/i386/locore.s
1.258 +7 -7 src/sys/i386/i386/machdep.c
1.46 +142 -36 src/sys/i386/i386/mp_machdep.c
1.4 +10 -41 src/sys/i386/i386/mpboot.s
1.21 +21 -1 src/sys/i386/i386/mplock.s
1.160 +60 -5 src/sys/i386/i386/pmap.c
1.60 +98 -15 src/sys/i386/i386/swtch.s
1.108 +6 -1 src/sys/i386/i386/trap.c
1.86 +13 -1 src/sys/i386/i386/vm_machdep.c
1.30 +1 -2 src/sys/i386/include/smp.h
1.70 +1 -7 src/sys/kern/init_main.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708261810.LAA25322>
