summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_shm.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2015-04-20 17:43:36 +0000
committeralc <alc@FreeBSD.org>2015-04-20 17:43:36 +0000
commit48e295fadf174a12313b8228f727a9197df52ca9 (patch)
treebc8c4b1645e44ad1d474de7206c92f54b266dfc5 /sys/kern/uipc_shm.c
parent248744ce23c52eb9b90cde312d134b95d2830066 (diff)
downloadFreeBSD-src-48e295fadf174a12313b8228f727a9197df52ca9.zip
FreeBSD-src-48e295fadf174a12313b8228f727a9197df52ca9.tar.gz
MFC r278402
Preset the object's color, or alignment, to maximize superpage usage.
Diffstat (limited to 'sys/kern/uipc_shm.c')
-rw-r--r--sys/kern/uipc_shm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index 015bd79..f11c6ea 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -554,9 +554,10 @@ shm_alloc(struct ucred *ucred, mode_t mode)
shmfd->shm_object = vm_pager_allocate(OBJT_DEFAULT, NULL,
shmfd->shm_size, VM_PROT_DEFAULT, 0, ucred);
KASSERT(shmfd->shm_object != NULL, ("shm_create: vm_pager_allocate"));
+ shmfd->shm_object->pg_color = 0;
VM_OBJECT_WLOCK(shmfd->shm_object);
vm_object_clear_flag(shmfd->shm_object, OBJ_ONEMAPPING);
- vm_object_set_flag(shmfd->shm_object, OBJ_NOSPLIT);
+ vm_object_set_flag(shmfd->shm_object, OBJ_COLORED | OBJ_NOSPLIT);
VM_OBJECT_WUNLOCK(shmfd->shm_object);
vfs_timestamp(&shmfd->shm_birthtime);
shmfd->shm_atime = shmfd->shm_mtime = shmfd->shm_ctime =
OpenPOWER on IntegriCloud