Skip to content

Commit 85a3318

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) net: clear heap allocation for ETHTOOL_GRXCLSRLALL isdn: strcpy() => strlcpy() Revert "mac80211: use netif_receive_skb in ieee80211_tx_status callpath" mac80211: delete AddBA response timer ath9k_hw: fix regression in ANI listen time calculation caif: fix two caif_connect() bugs bonding: fix WARN_ON when writing to bond_master sysfs file skge: add quirk to limit DMA MAINTAINERS: update Intel LAN Ethernet info e1000e.txt: Add e1000e documentation e1000.txt: Update e1000 documentation ixgbevf.txt: Update ixgbevf documentation cls_u32: signedness bug Bluetooth: Disallow to change L2CAP_OPTIONS values when connected sctp: Fix out-of-bounds reading in sctp_asoc_get_hmac() sctp: prevent reading out-of-bounds memory ipv4: correct IGMP behavior on v3 query during v2-compatibility mode netdev: Depend on INET before selecting INET_LRO Revert "ipv4: Make INET_LRO a bool instead of tristate." net: Fix the condition passed to sk_wait_event() ...
2 parents 63847e6 + ae6df5f commit 85a3318

File tree

23 files changed

+590
-380
lines changed

23 files changed

+590
-380
lines changed

Documentation/networking/e1000.txt

Lines changed: 96 additions & 277 deletions
Large diffs are not rendered by default.
Lines changed: 302 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
Linux* Driver for Intel(R) Network Connection
2+
===============================================================
3+
4+
Intel Gigabit Linux driver.
5+
Copyright(c) 1999 - 2010 Intel Corporation.
6+
7+
Contents
8+
========
9+
10+
- Identifying Your Adapter
11+
- Command Line Parameters
12+
- Additional Configurations
13+
- Support
14+
15+
Identifying Your Adapter
16+
========================
17+
18+
The e1000e driver supports all PCI Express Intel(R) Gigabit Network
19+
Connections, except those that are 82575, 82576 and 82580-based*.
20+
21+
* NOTE: The Intel(R) PRO/1000 P Dual Port Server Adapter is supported by
22+
the e1000 driver, not the e1000e driver due to the 82546 part being used
23+
behind a PCI Express bridge.
24+
25+
For more information on how to identify your adapter, go to the Adapter &
26+
Driver ID Guide at:
27+
28+
http://support.intel.com/support/go/network/adapter/idguide.htm
29+
30+
For the latest Intel network drivers for Linux, refer to the following
31+
website. In the search field, enter your adapter name or type, or use the
32+
networking link on the left to search for your adapter:
33+
34+
http://support.intel.com/support/go/network/adapter/home.htm
35+
36+
Command Line Parameters
37+
=======================
38+
39+
The default value for each parameter is generally the recommended setting,
40+
unless otherwise noted.
41+
42+
NOTES: For more information about the InterruptThrottleRate,
43+
RxIntDelay, TxIntDelay, RxAbsIntDelay, and TxAbsIntDelay
44+
parameters, see the application note at:
45+
http://www.intel.com/design/network/applnots/ap450.htm
46+
47+
InterruptThrottleRate
48+
---------------------
49+
Valid Range: 0,1,3,4,100-100000 (0=off, 1=dynamic, 3=dynamic conservative,
50+
4=simplified balancing)
51+
Default Value: 3
52+
53+
The driver can limit the amount of interrupts per second that the adapter
54+
will generate for incoming packets. It does this by writing a value to the
55+
adapter that is based on the maximum amount of interrupts that the adapter
56+
will generate per second.
57+
58+
Setting InterruptThrottleRate to a value greater or equal to 100
59+
will program the adapter to send out a maximum of that many interrupts
60+
per second, even if more packets have come in. This reduces interrupt
61+
load on the system and can lower CPU utilization under heavy load,
62+
but will increase latency as packets are not processed as quickly.
63+
64+
The driver has two adaptive modes (setting 1 or 3) in which
65+
it dynamically adjusts the InterruptThrottleRate value based on the traffic
66+
that it receives. After determining the type of incoming traffic in the last
67+
timeframe, it will adjust the InterruptThrottleRate to an appropriate value
68+
for that traffic.
69+
70+
The algorithm classifies the incoming traffic every interval into
71+
classes. Once the class is determined, the InterruptThrottleRate value is
72+
adjusted to suit that traffic type the best. There are three classes defined:
73+
"Bulk traffic", for large amounts of packets of normal size; "Low latency",
74+
for small amounts of traffic and/or a significant percentage of small
75+
packets; and "Lowest latency", for almost completely small packets or
76+
minimal traffic.
77+
78+
In dynamic conservative mode, the InterruptThrottleRate value is set to 4000
79+
for traffic that falls in class "Bulk traffic". If traffic falls in the "Low
80+
latency" or "Lowest latency" class, the InterruptThrottleRate is increased
81+
stepwise to 20000. This default mode is suitable for most applications.
82+
83+
For situations where low latency is vital such as cluster or
84+
grid computing, the algorithm can reduce latency even more when
85+
InterruptThrottleRate is set to mode 1. In this mode, which operates
86+
the same as mode 3, the InterruptThrottleRate will be increased stepwise to
87+
70000 for traffic in class "Lowest latency".
88+
89+
In simplified mode the interrupt rate is based on the ratio of Tx and
90+
Rx traffic. If the bytes per second rate is approximately equal the
91+
interrupt rate will drop as low as 2000 interrupts per second. If the
92+
traffic is mostly transmit or mostly receive, the interrupt rate could
93+
be as high as 8000.
94+
95+
Setting InterruptThrottleRate to 0 turns off any interrupt moderation
96+
and may improve small packet latency, but is generally not suitable
97+
for bulk throughput traffic.
98+
99+
NOTE: InterruptThrottleRate takes precedence over the TxAbsIntDelay and
100+
RxAbsIntDelay parameters. In other words, minimizing the receive
101+
and/or transmit absolute delays does not force the controller to
102+
generate more interrupts than what the Interrupt Throttle Rate
103+
allows.
104+
105+
NOTE: When e1000e is loaded with default settings and multiple adapters
106+
are in use simultaneously, the CPU utilization may increase non-
107+
linearly. In order to limit the CPU utilization without impacting
108+
the overall throughput, we recommend that you load the driver as
109+
follows:
110+
111+
modprobe e1000e InterruptThrottleRate=3000,3000,3000
112+
113+
This sets the InterruptThrottleRate to 3000 interrupts/sec for
114+
the first, second, and third instances of the driver. The range
115+
of 2000 to 3000 interrupts per second works on a majority of
116+
systems and is a good starting point, but the optimal value will
117+
be platform-specific. If CPU utilization is not a concern, use
118+
RX_POLLING (NAPI) and default driver settings.
119+
120+
RxIntDelay
121+
----------
122+
Valid Range: 0-65535 (0=off)
123+
Default Value: 0
124+
125+
This value delays the generation of receive interrupts in units of 1.024
126+
microseconds. Receive interrupt reduction can improve CPU efficiency if
127+
properly tuned for specific network traffic. Increasing this value adds
128+
extra latency to frame reception and can end up decreasing the throughput
129+
of TCP traffic. If the system is reporting dropped receives, this value
130+
may be set too high, causing the driver to run out of available receive
131+
descriptors.
132+
133+
CAUTION: When setting RxIntDelay to a value other than 0, adapters may
134+
hang (stop transmitting) under certain network conditions. If
135+
this occurs a NETDEV WATCHDOG message is logged in the system
136+
event log. In addition, the controller is automatically reset,
137+
restoring the network connection. To eliminate the potential
138+
for the hang ensure that RxIntDelay is set to 0.
139+
140+
RxAbsIntDelay
141+
-------------
142+
Valid Range: 0-65535 (0=off)
143+
Default Value: 8
144+
145+
This value, in units of 1.024 microseconds, limits the delay in which a
146+
receive interrupt is generated. Useful only if RxIntDelay is non-zero,
147+
this value ensures that an interrupt is generated after the initial
148+
packet is received within the set amount of time. Proper tuning,
149+
along with RxIntDelay, may improve traffic throughput in specific network
150+
conditions.
151+
152+
TxIntDelay
153+
----------
154+
Valid Range: 0-65535 (0=off)
155+
Default Value: 8
156+
157+
This value delays the generation of transmit interrupts in units of
158+
1.024 microseconds. Transmit interrupt reduction can improve CPU
159+
efficiency if properly tuned for specific network traffic. If the
160+
system is reporting dropped transmits, this value may be set too high
161+
causing the driver to run out of available transmit descriptors.
162+
163+
TxAbsIntDelay
164+
-------------
165+
Valid Range: 0-65535 (0=off)
166+
Default Value: 32
167+
168+
This value, in units of 1.024 microseconds, limits the delay in which a
169+
transmit interrupt is generated. Useful only if TxIntDelay is non-zero,
170+
this value ensures that an interrupt is generated after the initial
171+
packet is sent on the wire within the set amount of time. Proper tuning,
172+
along with TxIntDelay, may improve traffic throughput in specific
173+
network conditions.
174+
175+
Copybreak
176+
---------
177+
Valid Range: 0-xxxxxxx (0=off)
178+
Default Value: 256
179+
180+
Driver copies all packets below or equaling this size to a fresh Rx
181+
buffer before handing it up the stack.
182+
183+
This parameter is different than other parameters, in that it is a
184+
single (not 1,1,1 etc.) parameter applied to all driver instances and
185+
it is also available during runtime at
186+
/sys/module/e1000e/parameters/copybreak
187+
188+
SmartPowerDownEnable
189+
--------------------
190+
Valid Range: 0-1
191+
Default Value: 0 (disabled)
192+
193+
Allows PHY to turn off in lower power states. The user can set this parameter
194+
in supported chipsets.
195+
196+
KumeranLockLoss
197+
---------------
198+
Valid Range: 0-1
199+
Default Value: 1 (enabled)
200+
201+
This workaround skips resetting the PHY at shutdown for the initial
202+
silicon releases of ICH8 systems.
203+
204+
IntMode
205+
-------
206+
Valid Range: 0-2 (0=legacy, 1=MSI, 2=MSI-X)
207+
Default Value: 2
208+
209+
Allows changing the interrupt mode at module load time, without requiring a
210+
recompile. If the driver load fails to enable a specific interrupt mode, the
211+
driver will try other interrupt modes, from least to most compatible. The
212+
interrupt order is MSI-X, MSI, Legacy. If specifying MSI (IntMode=1)
213+
interrupts, only MSI and Legacy will be attempted.
214+
215+
CrcStripping
216+
------------
217+
Valid Range: 0-1
218+
Default Value: 1 (enabled)
219+
220+
Strip the CRC from received packets before sending up the network stack. If
221+
you have a machine with a BMC enabled but cannot receive IPMI traffic after
222+
loading or enabling the driver, try disabling this feature.
223+
224+
WriteProtectNVM
225+
---------------
226+
Valid Range: 0-1
227+
Default Value: 1 (enabled)
228+
229+
Set the hardware to ignore all write/erase cycles to the GbE region in the
230+
ICHx NVM (non-volatile memory). This feature can be disabled by the
231+
WriteProtectNVM module parameter (enabled by default) only after a hardware
232+
reset, but the machine must be power cycled before trying to enable writes.
233+
234+
Note: the kernel boot option iomem=relaxed may need to be set if the kernel
235+
config option CONFIG_STRICT_DEVMEM=y, if the root user wants to write the
236+
NVM from user space via ethtool.
237+
238+
Additional Configurations
239+
=========================
240+
241+
Jumbo Frames
242+
------------
243+
Jumbo Frames support is enabled by changing the MTU to a value larger than
244+
the default of 1500. Use the ifconfig command to increase the MTU size.
245+
For example:
246+
247+
ifconfig eth<x> mtu 9000 up
248+
249+
This setting is not saved across reboots.
250+
251+
Notes:
252+
253+
- The maximum MTU setting for Jumbo Frames is 9216. This value coincides
254+
with the maximum Jumbo Frames size of 9234 bytes.
255+
256+
- Using Jumbo Frames at 10 or 100 Mbps is not supported and may result in
257+
poor performance or loss of link.
258+
259+
- Some adapters limit Jumbo Frames sized packets to a maximum of
260+
4096 bytes and some adapters do not support Jumbo Frames.
261+
262+
263+
Ethtool
264+
-------
265+
The driver utilizes the ethtool interface for driver configuration and
266+
diagnostics, as well as displaying statistical information. We
267+
strongly recommend downloading the latest version of Ethtool at:
268+
269+
http://sourceforge.net/projects/gkernel.
270+
271+
Speed and Duplex
272+
----------------
273+
Speed and Duplex are configured through the Ethtool* utility. For
274+
instructions, refer to the Ethtool man page.
275+
276+
Enabling Wake on LAN* (WoL)
277+
---------------------------
278+
WoL is configured through the Ethtool* utility. For instructions on
279+
enabling WoL with Ethtool, refer to the Ethtool man page.
280+
281+
WoL will be enabled on the system during the next shut down or reboot.
282+
For this driver version, in order to enable WoL, the e1000e driver must be
283+
loaded when shutting down or rebooting the system.
284+
285+
In most cases Wake On LAN is only supported on port A for multiple port
286+
adapters. To verify if a port supports Wake on LAN run ethtool eth<X>.
287+
288+
289+
Support
290+
=======
291+
292+
For general information, go to the Intel support website at:
293+
294+
www.intel.com/support/
295+
296+
or the Intel Wired Networking project hosted by Sourceforge at:
297+
298+
http://sourceforge.net/projects/e1000
299+
300+
If an issue is identified with the released source code on the supported
301+
kernel with a supported adapter, email the specific information related
302+
to the issue to [email protected]

Documentation/networking/ixgbevf.txt

100755100644
Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
Linux* Base Driver for Intel(R) Network Connection
22
==================================================
33

4-
November 24, 2009
4+
Intel Gigabit Linux driver.
5+
Copyright(c) 1999 - 2010 Intel Corporation.
56

67
Contents
78
========
89

9-
- In This Release
1010
- Identifying Your Adapter
1111
- Known Issues/Troubleshooting
1212
- Support
1313

14-
In This Release
15-
===============
16-
1714
This file describes the ixgbevf Linux* Base Driver for Intel Network
1815
Connection.
1916

@@ -33,7 +30,7 @@ Identifying Your Adapter
3330
For more information on how to identify your adapter, go to the Adapter &
3431
Driver ID Guide at:
3532

36-
http://support.intel.com/support/network/sb/CS-008441.htm
33+
http://support.intel.com/support/go/network/adapter/idguide.htm
3734

3835
Known Issues/Troubleshooting
3936
============================
@@ -57,34 +54,3 @@ or the Intel Wired Networking project hosted by Sourceforge at:
5754
If an issue is identified with the released source code on the supported
5855
kernel with a supported adapter, email the specific information related
5956
to the issue to [email protected]
60-
61-
License
62-
=======
63-
64-
Intel 10 Gigabit Linux driver.
65-
Copyright(c) 1999 - 2009 Intel Corporation.
66-
67-
This program is free software; you can redistribute it and/or modify it
68-
under the terms and conditions of the GNU General Public License,
69-
version 2, as published by the Free Software Foundation.
70-
71-
This program is distributed in the hope it will be useful, but WITHOUT
72-
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
73-
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
74-
more details.
75-
76-
You should have received a copy of the GNU General Public License along with
77-
this program; if not, write to the Free Software Foundation, Inc.,
78-
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
79-
80-
The full GNU General Public License is included in this distribution in
81-
the file called "COPYING".
82-
83-
Trademarks
84-
==========
85-
86-
Intel, Itanium, and Pentium are trademarks or registered trademarks of
87-
Intel Corporation or its subsidiaries in the United States and other
88-
countries.
89-
90-
* Other names and brands may be claimed as the property of others.

0 commit comments

Comments
 (0)