aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_object.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2000-05-21 13:41:29 +0000
committerPeter Wemm <peter@FreeBSD.org>2000-05-21 13:41:29 +0000
commit249645144d24e86f021b30c8637a8e900076f1c0 (patch)
treee937b0df83fae1dc6c60d88c8591fb644368c3a5 /sys/vm/vm_object.h
parentbb7df05f675ed5ab631ec099135435de79f5f676 (diff)
downloadsrc-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.h12
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