diff options
author | np <np@FreeBSD.org> | 2012-08-23 21:32:02 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2012-08-23 21:32:02 +0000 |
commit | d86771afc31c4ba66d814c09eafbf3c35d7055d5 (patch) | |
tree | 4f3352d43a8db754c6dd71538e5165eba4a2d29b /sys | |
parent | acf06e83294c8accf07019c4e30a0284aae9007c (diff) | |
download | FreeBSD-src-d86771afc31c4ba66d814c09eafbf3c35d7055d5.zip FreeBSD-src-d86771afc31c4ba66d814c09eafbf3c35d7055d5.tar.gz |
Allow nmbjumbop, nmbjumbo9, and nmbjumbo16 to be set directly via loader
tunables.
MFC after: 1 month
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_mbuf.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 7fda029..0e41dc4 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -110,14 +110,23 @@ struct mbstat mbstat; static void tunable_mbinit(void *dummy) { - TUNABLE_INT_FETCH("kern.ipc.nmbclusters", &nmbclusters); /* This has to be done before VM init. */ + TUNABLE_INT_FETCH("kern.ipc.nmbclusters", &nmbclusters); if (nmbclusters == 0) nmbclusters = 1024 + maxusers * 64; - nmbjumbop = nmbclusters / 2; - nmbjumbo9 = nmbjumbop / 2; - nmbjumbo16 = nmbjumbo9 / 2; + + TUNABLE_INT_FETCH("kern.ipc.nmbjumbop", &nmbjumbop); + if (nmbjumbop == 0) + nmbjumbop = nmbclusters / 2; + + TUNABLE_INT_FETCH("kern.ipc.nmbjumbo9", &nmbjumbo9); + if (nmbjumbo9 == 0) + nmbjumbo9 = nmbclusters / 4; + + TUNABLE_INT_FETCH("kern.ipc.nmbjumbo16", &nmbjumbo16); + if (nmbjumbo16 == 0) + nmbjumbo16 = nmbclusters / 8; } SYSINIT(tunable_mbinit, SI_SUB_TUNABLES, SI_ORDER_MIDDLE, tunable_mbinit, NULL); |