diff options
author | Peter Wemm <peter@FreeBSD.org> | 2000-05-21 13:41:29 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2000-05-21 13:41:29 +0000 |
commit | 249645144d24e86f021b30c8637a8e900076f1c0 (patch) | |
tree | e937b0df83fae1dc6c60d88c8591fb644368c3a5 /sys/vm/vm_object.h | |
parent | bb7df05f675ed5ab631ec099135435de79f5f676 (diff) | |
download | src-249645144d24e86f021b30c8637a8e900076f1c0.tar.gz src-249645144d24e86f021b30c8637a8e900076f1c0.zip |
Checkpoint of a new physical memory backed object type, that does not
have pv_entries. This is intended for very special circumstances,
eg: a certain database that has a 1GB shm segment mapped into 300
processes. That would consume 2GB of kvm just to hold the pv_entries
alone. This would not be used on systems unless the physical ram was
available, as it's not pageable.
This is a work-in-progress, but is a useful and functional checkpoint.
Matt has got some more fixes for it that will be committed soon.
Reviewed by: dillon
Notes
Notes:
svn path=/head/; revision=60757
Diffstat (limited to 'sys/vm/vm_object.h')
-rw-r--r-- | sys/vm/vm_object.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 5fb2e6945232..62a3bbe24168 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -74,7 +74,8 @@ #include <sys/queue.h> #include <machine/atomic.h> -enum obj_type { OBJT_DEFAULT, OBJT_SWAP, OBJT_VNODE, OBJT_DEVICE, OBJT_DEAD }; +enum obj_type { OBJT_DEFAULT, OBJT_SWAP, OBJT_VNODE, OBJT_DEVICE, OBJT_PHYS, + OBJT_DEAD }; typedef u_char objtype_t; /* @@ -123,6 +124,15 @@ struct vm_object { } devp; /* + * Physmem pager + * + * physp_pglist - list of allocated pages + */ + struct { + TAILQ_HEAD(, vm_page) physp_pglist; + } physp; + + /* * Swap pager * * swp_bcount - number of swap 'swblock' metablocks, each |