summaryrefslogtreecommitdiffstats
path: root/sys/kern/sysv_shm.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2000-05-21 13:52:13 +0000
committerpeter <peter@FreeBSD.org>2000-05-21 13:52:13 +0000
commitb83e6f1ce3ee9a8fc32e837fff6c70f6e2427a66 (patch)
treea8f195614a54315ff31f03e0a87b7e85d97414cf /sys/kern/sysv_shm.c
parent807a5519028c413f1a6eb2a4a100af4170425554 (diff)
downloadFreeBSD-src-b83e6f1ce3ee9a8fc32e837fff6c70f6e2427a66.zip
FreeBSD-src-b83e6f1ce3ee9a8fc32e837fff6c70f6e2427a66.tar.gz
Provide a temporary undocumented option: SHM_PHYS_BACKED. This will
become sysctl and/or flags controlled later. It's mainly here for an easy place to test the physical memory backed objects.
Diffstat (limited to 'sys/kern/sysv_shm.c')
-rw-r--r--sys/kern/sysv_shm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c
index 83311b0..16019dc 100644
--- a/sys/kern/sysv_shm.c
+++ b/sys/kern/sysv_shm.c
@@ -528,8 +528,13 @@ shmget_allocate_segment(p, uap, mode)
* We make sure that we have allocated a pager before we need
* to.
*/
+#ifdef SHM_PHYS_BACKED
+ shm_handle->shm_object =
+ vm_pager_allocate(OBJT_PHYS, 0, size, VM_PROT_DEFAULT, 0);
+#else
shm_handle->shm_object =
vm_pager_allocate(OBJT_SWAP, 0, size, VM_PROT_DEFAULT, 0);
+#endif
vm_object_clear_flag(shm_handle->shm_object, OBJ_ONEMAPPING);
vm_object_set_flag(shm_handle->shm_object, OBJ_NOSPLIT);
OpenPOWER on IntegriCloud