From d938f511cf1f6b07e8dfaa1a216b1a5ab6ac4032 Mon Sep 17 00:00:00 2001 From: Mike Hibler Date: Mon, 30 Nov 2015 17:22:23 -0700 Subject: [PATCH] Sync up with FreeBSD 10 version. --- clientside/tmcc/freebsd9/loader.conf | 32 ++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/clientside/tmcc/freebsd9/loader.conf b/clientside/tmcc/freebsd9/loader.conf index b5f09b584..3d3cc8ce7 100644 --- a/clientside/tmcc/freebsd9/loader.conf +++ b/clientside/tmcc/freebsd9/loader.conf @@ -12,21 +12,31 @@ beastie_disable="YES" hw.memtest.tests=0 # -# ixgbe driver will throttle back number of rx queues if not enough -# nmbclusters; i.e., less than min(cores,8) * ports_on_card * ring_bufs, -# which for the Utah d820s is 8 * 2 * 2048 == 32768. So we set nmbclusters -# to that value here (and set the other nmb* values as the kernel would -# based on that value). Note that it is not too much larger than the default -# the kernel would calculate 25600 (which is based on "maxusers"). +# Some drivers, most notably the Intel 10Gb "ixgbe" driver and newer 1Gb +# drivers, are very liberal with their mbuf allocation for RX buffers. +# The ixgbe driver in particular wants to allocate up to 2048 buffers +# per interface per CPU core (up to 8). On the Utah d820 nodes that is +# 2048 * 4 * 8 == 65536 mbufs. # -# These values will get re-adjusted in the Emulab startup scripts to a -# more appropriate value based on the size of RAM and total number of +# This can cause dhclient to fail when it fires up all interfaces at once +# and the kernel runs out of mbufs. +# +# At Utah we avoid this by not dhcp'ing on the "ix" interfaces (see +# /etc/rc.d/netif-emulab) because they are never the control net. But if +# you have a 10Gb control net, or some other interface that allocates +# excessive mbufs, you may need to try the following settings or something +# even larger. Note that the relationship between the four values is the +# same as what FreeBSD uses for the defaults; i.e., each value is half the +# preceding value. +# +# Someday, these values will get re-adjusted in the Emulab startup scripts +# to a more appropriate value based on the size of RAM and total number of # interfaces. # -kern.ipc.nmbclusters=32768 -kern.ipc.nmbjumbop=16384 +kern.ipc.nmbclusters=65536 +kern.ipc.nmbjumbop=32768 +kern.ipc.nmbjumbo16=16384 kern.ipc.nmbjumbo9=8192 -kern.ipc.nmbjumbo16=4096 # force module path, our pxeboot can mess it up module_path="/boot/kernel;/boot/modules" -- GitLab