Make the vm_pmap field of struct vmspace the last field in the

structure. This allows per-CPU variations of struct pmap on a
single architecture without affecting the machine-independent
fields. As such, the PMAP variations don't affect the ABI. They
become part of it.
This commit is contained in:
Marcel Moolenaar 2008-03-01 22:54:42 +00:00
parent af92e6cf95
commit 8775db6f50
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=176717
2 changed files with 14 additions and 1 deletions

View File

@ -22,6 +22,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW:
to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
20080301:
The layout of struct vmspace has changed. This affects libkvm
and any executables that link against libkvm and use the
kvm_getprocs() function. In particular, but not exclusively,
it affects ps(1), fstat(1), pkill(1), systat(1), top(1) and w(1).
The effects are minimal, but it's advisable to upgrade world
nonetheless.
20080229:
The latest em driver no longer has support in it for the
82575 adapter, this is now moved to the igb driver. The

View File

@ -233,7 +233,6 @@ vm_map_modflags(vm_map_t map, vm_flags_t set, vm_flags_t clear)
*/
struct vmspace {
struct vm_map vm_map; /* VM address map */
struct pmap vm_pmap; /* private physical map */
struct shmmap_state *vm_shm; /* SYS5 shared memory private data XXX */
segsz_t vm_swrss; /* resident set size before last swap */
segsz_t vm_tsize; /* text size (pages) XXX */
@ -243,6 +242,12 @@ struct vmspace {
caddr_t vm_daddr; /* (c) user virtual address of data */
caddr_t vm_maxsaddr; /* user VA at max stack growth */
int vm_refcnt; /* number of references */
/*
* Keep the PMAP last, so that CPU-specific variations of that
* structure on a single architecture don't result in offset
* variations of the machine-independent fields in the vmspace.
*/
struct pmap vm_pmap; /* private physical map */
};
#ifdef _KERNEL