blob: 0ac3052d4a47a2c5d4a3f4b4884b358c97c1549a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#
# **** 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 e1000 copybreak=0
options e1000e copybreak=0
options sky2 copybreak=0
options via-rhine rx_copybreak=0
options via-velocity rx_copybreak=0
|