diff options
author | pjd <pjd@FreeBSD.org> | 2012-02-08 09:18:22 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2012-02-08 09:18:22 +0000 |
commit | bf6a1ce0702015368048eb4296b98f7209d577fe (patch) | |
tree | ccea55a788091db12584c9238cd94fed71ed02c6 /sys/kern/sysv_shm.c | |
parent | dd6bba093e5163f05fcfb84865b091c7f63dae7e (diff) | |
download | FreeBSD-src-bf6a1ce0702015368048eb4296b98f7209d577fe.zip FreeBSD-src-bf6a1ce0702015368048eb4296b98f7209d577fe.tar.gz |
Allow to set kern.ipc.shmmax from /boot/loader.conf.
MFC after: 1 week
Diffstat (limited to 'sys/kern/sysv_shm.c')
-rw-r--r-- | sys/kern/sysv_shm.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index 2bad484..c717c0d 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -891,14 +891,14 @@ shminit() printf("kern.ipc.shmmaxpgs is now called kern.ipc.shmall!\n"); #endif TUNABLE_ULONG_FETCH("kern.ipc.shmall", &shminfo.shmall); - - /* Initialize shmmax dealing with possible overflow. */ - for (i = PAGE_SIZE; i > 0; i--) { - shminfo.shmmax = shminfo.shmall * i; - if (shminfo.shmmax >= shminfo.shmall) - break; + if (!TUNABLE_ULONG_FETCH("kern.ipc.shmmax", &shminfo.shmmax)) { + /* Initialize shmmax dealing with possible overflow. */ + for (i = PAGE_SIZE; i > 0; i--) { + shminfo.shmmax = shminfo.shmall * i; + if (shminfo.shmmax >= shminfo.shmall) + break; + } } - TUNABLE_ULONG_FETCH("kern.ipc.shmmin", &shminfo.shmmin); TUNABLE_ULONG_FETCH("kern.ipc.shmmni", &shminfo.shmmni); TUNABLE_ULONG_FETCH("kern.ipc.shmseg", &shminfo.shmseg); |