diff options
author | peter <peter@FreeBSD.org> | 1997-04-26 11:46:25 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-04-26 11:46:25 +0000 |
commit | 6323aa10bffe459912ba8b2f8592c7ac4ffd8705 (patch) | |
tree | bf48960e09e26f0de373de093c89322724bbdd64 /sys/vm | |
parent | 96efe480c0c091aecb2f359675c74aca30f36a4a (diff) | |
download | FreeBSD-src-6323aa10bffe459912ba8b2f8592c7ac4ffd8705.zip FreeBSD-src-6323aa10bffe459912ba8b2f8592c7ac4ffd8705.tar.gz |
Man the liferafts! Here comes the long awaited SMP -> -current merge!
There are various options documented in i386/conf/LINT, there is more to
come over the next few days.
The kernel should run pretty much "as before" without the options to
activate SMP mode.
There are a handful of known "loose ends" that need to be fixed, but
have been put off since the SMP kernel is in a moderately good condition
at the moment.
This commit is the result of the tinkering and testing over the last 14
months by many people. A special thanks to Steve Passe for implementing
the APIC code!
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_kern.c | 8 | ||||
-rw-r--r-- | sys/vm/vm_kern.h | 3 | ||||
-rw-r--r-- | sys/vm/vm_meter.c | 4 | ||||
-rw-r--r-- | sys/vm/vm_object.c | 6 |
4 files changed, 17 insertions, 4 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index a875230..af36cfd 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -61,12 +61,14 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_kern.c,v 1.33 1997/02/22 09:48:21 peter Exp $ + * $Id: vm_kern.c,v 1.34 1997/03/31 11:11:24 davidg Exp $ */ /* * Kernel memory management. */ +#include "opt_smp.h" +#include "opt_smp_privpages.h" #include <sys/param.h> #include <sys/systm.h> @@ -99,6 +101,10 @@ vm_map_t mb_map=0; int mb_map_full=0; vm_map_t io_map=0; vm_map_t phys_map=0; +#if defined(SMP) && defined(SMP_PRIVPAGES) +vm_map_t ppage_map=0; +#endif + /* * kmem_alloc_pageable: diff --git a/sys/vm/vm_kern.h b/sys/vm/vm_kern.h index b23150f..5d85318 100644 --- a/sys/vm/vm_kern.h +++ b/sys/vm/vm_kern.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_kern.h,v 1.12 1997/02/22 09:48:21 peter Exp $ + * $Id: vm_kern.h,v 1.13 1997/03/31 11:11:26 davidg Exp $ */ #ifndef _VM_VM_KERN_H_ @@ -78,6 +78,7 @@ extern vm_map_t clean_map; extern vm_map_t phys_map; extern vm_map_t exec_map; extern vm_map_t u_map; +extern vm_map_t ppage_map; extern vm_offset_t kernel_vm_end; /* XXX - elsewhere? */ diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index c58423c..b6ac38c 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94 - * $Id$ + * $Id: vm_meter.c,v 1.20 1997/02/22 09:48:25 peter Exp $ */ #include <sys/param.h> @@ -79,6 +79,8 @@ loadav(struct loadavg *avg) register struct proc *p; for (nrun = 0, p = allproc.lh_first; p != 0; p = p->p_list.le_next) { + if (p->p_flag & P_IDLEPROC) + continue; switch (p->p_stat) { case SSLEEP: if (p->p_priority > PZERO || p->p_slptime != 0) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 4de7814..ded4374 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id$ + * $Id: vm_object.c,v 1.90 1997/02/22 09:48:28 peter Exp $ */ /* @@ -1451,6 +1451,10 @@ vm_object_in_map( object) return 1; if( _vm_object_in_map( u_map, object, 0)) return 1; +#if defined(SMP) && defined(SMP_PRIVPAGES) + if( _vm_object_in_map( ppage_map, object, 0)) + return 1; +#endif return 0; } |