ia64/linux-2.6.18-xen.hg

view Documentation/networking/e100.txt @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
children
line source
1 Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters
2 ==============================================================
4 November 15, 2005
6 Contents
7 ========
9 - In This Release
10 - Identifying Your Adapter
11 - Building and Installation
12 - Driver Configuration Parameters
13 - Additional Configurations
14 - Known Issues
15 - Support
18 In This Release
19 ===============
21 This file describes the Linux* Base Driver for the Intel(R) PRO/100 Family of
22 Adapters. This driver includes support for Itanium(R)2-based systems.
24 For questions related to hardware requirements, refer to the documentation
25 supplied with your Intel PRO/100 adapter.
27 The following features are now available in supported kernels:
28 - Native VLANs
29 - Channel Bonding (teaming)
30 - SNMP
32 Channel Bonding documentation can be found in the Linux kernel source:
33 /Documentation/networking/bonding.txt
36 Identifying Your Adapter
37 ========================
39 For more information on how to identify your adapter, go to the Adapter &
40 Driver ID Guide at:
42 http://support.intel.com/support/network/adapter/pro100/21397.htm
44 For the latest Intel network drivers for Linux, refer to the following
45 website. In the search field, enter your adapter name or type, or use the
46 networking link on the left to search for your adapter:
48 http://downloadfinder.intel.com/scripts-df/support_intel.asp
50 Driver Configuration Parameters
51 ===============================
53 The default value for each parameter is generally the recommended setting,
54 unless otherwise noted.
56 Rx Descriptors: Number of receive descriptors. A receive descriptor is a data
57 structure that describes a receive buffer and its attributes to the network
58 controller. The data in the descriptor is used by the controller to write
59 data from the controller to host memory. In the 3.x.x driver the valid range
60 for this parameter is 64-256. The default value is 64. This parameter can be
61 changed using the command:
63 ethtool -G eth? rx n, where n is the number of desired rx descriptors.
65 Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a data
66 structure that describes a transmit buffer and its attributes to the network
67 controller. The data in the descriptor is used by the controller to read
68 data from the host memory to the controller. In the 3.x.x driver the valid
69 range for this parameter is 64-256. The default value is 64. This parameter
70 can be changed using the command:
72 ethtool -G eth? tx n, where n is the number of desired tx descriptors.
74 Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by
75 default. Ethtool can be used as follows to force speed/duplex.
77 ethtool -s eth? autoneg off speed {10|100} duplex {full|half}
79 NOTE: setting the speed/duplex to incorrect values will cause the link to
80 fail.
82 Event Log Message Level: The driver uses the message level flag to log events
83 to syslog. The message level can be set at driver load time. It can also be
84 set using the command:
86 ethtool -s eth? msglvl n
89 Additional Configurations
90 =========================
92 Configuring the Driver on Different Distributions
93 -------------------------------------------------
95 Configuring a network driver to load properly when the system is started is
96 distribution dependent. Typically, the configuration process involves adding
97 an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing
98 other system startup scripts and/or configuration files. Many popular Linux
99 distributions ship with tools to make these changes for you. To learn the
100 proper way to configure a network device for your system, refer to your
101 distribution documentation. If during this process you are asked for the
102 driver or module name, the name for the Linux Base Driver for the Intel
103 PRO/100 Family of Adapters is e100.
105 As an example, if you install the e100 driver for two PRO/100 adapters
106 (eth0 and eth1), add the following to modules.conf or modprobe.conf:
108 alias eth0 e100
109 alias eth1 e100
111 Viewing Link Messages
112 ---------------------
113 In order to see link messages and other Intel driver information on your
114 console, you must set the dmesg level up to six. This can be done by
115 entering the following on the command line before loading the e100 driver:
117 dmesg -n 8
119 If you wish to see all messages issued by the driver, including debug
120 messages, set the dmesg level to eight.
122 NOTE: This setting is not saved across reboots.
125 Ethtool
126 -------
128 The driver utilizes the ethtool interface for driver configuration and
129 diagnostics, as well as displaying statistical information. Ethtool
130 version 1.6 or later is required for this functionality.
132 The latest release of ethtool can be found from
133 http://sourceforge.net/projects/gkernel.
135 NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support
136 for a more complete ethtool feature set can be enabled by upgrading
137 ethtool to ethtool-1.8.1.
140 Enabling Wake on LAN* (WoL)
141 ---------------------------
142 WoL is provided through the Ethtool* utility. Ethtool is included with Red
143 Hat* 8.0. For other Linux distributions, download and install Ethtool from
144 the following website: http://sourceforge.net/projects/gkernel.
146 For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
148 WoL will be enabled on the system during the next shut down or reboot. For
149 this driver version, in order to enable WoL, the e100 driver must be
150 loaded when shutting down or rebooting the system.
153 NAPI
154 ----
156 NAPI (Rx polling mode) is supported in the e100 driver.
158 See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI.
160 Multiple Interfaces on Same Ethernet Broadcast Network
161 ------------------------------------------------------
163 Due to the default ARP behavior on Linux, it is not possible to have
164 one system on two IP networks in the same Ethernet broadcast domain
165 (non-partitioned switch) behave as expected. All Ethernet interfaces
166 will respond to IP traffic for any IP address assigned to the system.
167 This results in unbalanced receive traffic.
169 If you have multiple interfaces in a server, either turn on ARP
170 filtering by
172 (1) entering: echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
173 (this only works if your kernel's version is higher than 2.4.5), or
175 (2) installing the interfaces in separate broadcast domains (either
176 in different switches or in a switch partitioned to VLANs).
179 Support
180 =======
182 For general information, go to the Intel support website at:
184 http://support.intel.com
186 or the Intel Wired Networking project hosted by Sourceforge at:
188 http://sourceforge.net/projects/e1000
190 If an issue is identified with the released source code on the supported
191 kernel with a supported adapter, email the specific information related to the
192 issue to e1000-devel@lists.sourceforge.net.
195 License
196 =======
198 This software program is released under the terms of a license agreement
199 between you ('Licensee') and Intel. Do not use or load this software or any
200 associated materials (collectively, the 'Software') until you have carefully
201 read the full terms and conditions of the file COPYING located in this software
202 package. By loading or using the Software, you agree to the terms of this
203 Agreement. If you do not agree with the terms of this Agreement, do not install
204 or use the Software.
206 * Other names and brands may be claimed as the property of others.