summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_mbuf.c
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2012-08-23 21:32:02 +0000
committernp <np@FreeBSD.org>2012-08-23 21:32:02 +0000
commitd86771afc31c4ba66d814c09eafbf3c35d7055d5 (patch)
tree4f3352d43a8db754c6dd71538e5165eba4a2d29b /sys/kern/kern_mbuf.c
parentacf06e83294c8accf07019c4e30a0284aae9007c (diff)
downloadFreeBSD-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/kern/kern_mbuf.c')
-rw-r--r--sys/kern/kern_mbuf.c17
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);
OpenPOWER on IntegriCloud