diff options
author | peter <peter@FreeBSD.org> | 1997-08-26 18:10:38 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-08-26 18:10:38 +0000 |
commit | 7dfe3e5abe7df9a2db7c225b0ce9e73fc5955654 (patch) | |
tree | 02a81dce529d428cea86379dd50d22676d1b7fbc /sys/sys/smp.h | |
parent | 4ef08431e3258c177c4a081bb0bba2eeef3a3ac3 (diff) | |
download | FreeBSD-src-7dfe3e5abe7df9a2db7c225b0ce9e73fc5955654.zip FreeBSD-src-7dfe3e5abe7df9a2db7c225b0ce9e73fc5955654.tar.gz |
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.
Diffstat (limited to 'sys/sys/smp.h')
-rw-r--r-- | sys/sys/smp.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/sys/smp.h b/sys/sys/smp.h index f433b2f..276b838 100644 --- a/sys/sys/smp.h +++ b/sys/sys/smp.h @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: smp.h,v 1.24 1997/08/24 20:17:05 smp Exp smp $ + * $Id: smp.h,v 1.29 1997/08/24 20:33:24 fsmp Exp $ * */ @@ -100,7 +100,6 @@ extern int cpu_num_to_apic_id[]; extern int io_num_to_apic_id[]; extern int apic_id_to_logical[]; extern u_int all_cpus; -extern u_int SMP_prvpt[]; extern u_char SMP_ioapic[]; /* functions in mp_machdep.c */ |