diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | etc/modprobe.d/no-copybreak.conf | 63 |
2 files changed, 65 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index 7dc9ac06..d77f02dc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,6 +6,8 @@ bin_sudo_usersdir = $(bindir)/sudo-users curverdir = $(sysconfdir)/config-migrate/current netplugupdir = /etc/netplug/linkup.d netplugdowndir = /etc/netplug/linkdown.d +modprobedir = /etc/modprobe.d +modprobe_DATA = etc/modprobe.d/no-copybreak.conf bin_SCRIPTS = sbin_SCRIPTS = diff --git a/etc/modprobe.d/no-copybreak.conf b/etc/modprobe.d/no-copybreak.conf new file mode 100644 index 00000000..967be532 --- /dev/null +++ b/etc/modprobe.d/no-copybreak.conf @@ -0,0 +1,63 @@ +# +# **** License **** +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# This code was originally developed by Vyatta, Inc. +# Portions created by Vyatta are Copyright (C) 2009 Vyatta, Inc. +# All Rights Reserved. +# **** End License **** +# +# Author: Bob Gilligan <gilligan@vyatta.com> +# +# Some network interface drivers employ a scheme known as "copybreak" +# in which they make a copy of a received skb if the size of the +# buffer is below a particular threshold, then return the original +# receive skb back to the pool. Since these drivers initially +# allocate a buffer size that is larger than the largest possible +# packet, this scheme returns that large buffer to the pool quickly, +# and uses a smaller one. +# +# The primary benefit of copybreak is better memory utilization. On +# systems where the data is ultimately going to be copied out to user +# space, the copybreak scheme is "low cost" because it has the side +# benefit of priming the cache for that later copy. But on a router +# that only touches the header fields of a received packet, the cost +# can be relatively higher. And on modern systems the memory savings +# is rarely an important consideration. +# +# Some of the drivers that employ copybreak make the feature +# configurable via a module parameter. This file disables copybreak +# in some of those drivers. Generally this results in an improvement +# in forwarding performance for traffic using these drivers. +# + +options 3c515 rx_copybreak=0 +options 3c59x rx_copybreak=0 +options cxgb copybreak=0 +options e1000 copybreak=0 +options e1000e copybreak=0 +options epic100 rx_copybreak=0 +options fealnx rx_copybreak=0 +options hamachi rx_copybreak=0 +options ixgb copybreak=0 +options natsemi rx_copybreak=0 +options pcnet32 rx_copybreak=0 +options r8169 rx_copybreak=0 +options sis190 rx_copybreak=0 +options sky2 copybreak=0 +options starfire rx_copybreak=0 +options sundance rx_copybreak=0 +options typhoon rx_copybreak=0 +options via-rhine rx_copybreak=0 +options via-velocity rx_copybreak=0 +options yellowfin rx_copybreak=0 + + + |