view Documentation/networking/tlan.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
line source
1 (C) 1997-1998 Caldera, Inc.
2 (C) 1998 James Banks
3 (C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
5 For driver information/updates visit http://opensource.compaq.com
8 TLAN driver for Linux, version 1.14a
12 I. Supported Devices.
14 Only PCI devices will work with this driver.
16 Supported:
17 Vendor ID Device ID Name
18 0e11 ae32 Compaq Netelligent 10/100 TX PCI UTP
19 0e11 ae34 Compaq Netelligent 10 T PCI UTP
20 0e11 ae35 Compaq Integrated NetFlex 3/P
21 0e11 ae40 Compaq Netelligent Dual 10/100 TX PCI UTP
22 0e11 ae43 Compaq Netelligent Integrated 10/100 TX UTP
23 0e11 b011 Compaq Netelligent 10/100 TX Embedded UTP
24 0e11 b012 Compaq Netelligent 10 T/2 PCI UTP/Coax
25 0e11 b030 Compaq Netelligent 10/100 TX UTP
26 0e11 f130 Compaq NetFlex 3/P
27 0e11 f150 Compaq NetFlex 3/P
28 108d 0012 Olicom OC-2325
29 108d 0013 Olicom OC-2183
30 108d 0014 Olicom OC-2326
33 Caveats:
35 I am not sure if 100BaseTX daughterboards (for those cards which
36 support such things) will work. I haven't had any solid evidence
37 either way.
39 However, if a card supports 100BaseTx without requiring an add
40 on daughterboard, it should work with 100BaseTx.
42 The "Netelligent 10 T/2 PCI UTP/Coax" (b012) device is untested,
43 but I do not expect any problems.
46 II. Driver Options
47 1. You can append debug=x to the end of the insmod line to get
48 debug messages, where x is a bit field where the bits mean
49 the following:
51 0x01 Turn on general debugging messages.
52 0x02 Turn on receive debugging messages.
53 0x04 Turn on transmit debugging messages.
54 0x08 Turn on list debugging messages.
56 2. You can append aui=1 to the end of the insmod line to cause
57 the adapter to use the AUI interface instead of the 10 Base T
58 interface. This is also what to do if you want to use the BNC
59 connector on a TLAN based device. (Setting this option on a
60 device that does not have an AUI/BNC connector will probably
61 cause it to not function correctly.)
63 3. You can set duplex=1 to force half duplex, and duplex=2 to
64 force full duplex.
66 4. You can set speed=10 to force 10Mbs operation, and speed=100
67 to force 100Mbs operation. (I'm not sure what will happen
68 if a card which only supports 10Mbs is forced into 100Mbs
69 mode.)
71 5. You have to use speed=X duplex=Y together now. If you just
72 do "insmod tlan.o speed=100" the driver will do Auto-Neg.
73 To force a 10Mbps Half-Duplex link do "insmod tlan.o speed=10
74 duplex=1".
76 6. If the driver is built into the kernel, you can use the 3rd
77 and 4th parameters to set aui and debug respectively. For
78 example:
80 ether=0,0,0x1,0x7,eth0
82 This sets aui to 0x1 and debug to 0x7, assuming eth0 is a
83 supported TLAN device.
85 The bits in the third byte are assigned as follows:
87 0x01 = aui
88 0x02 = use half duplex
89 0x04 = use full duplex
90 0x08 = use 10BaseT
91 0x10 = use 100BaseTx
93 You also need to set both speed and duplex settings when forcing
94 speeds with kernel-parameters.
95 ether=0,0,0x12,0,eth0 will force link to 100Mbps Half-Duplex.
97 7. If you have more than one tlan adapter in your system, you can
98 use the above options on a per adapter basis. To force a 100Mbit/HD
99 link with your eth1 adapter use:
101 insmod tlan speed=0,100 duplex=0,1
103 Now eth0 will use auto-neg and eth1 will be forced to 100Mbit/HD.
104 Note that the tlan driver supports a maximum of 8 adapters.
107 III. Things to try if you have problems.
108 1. Make sure your card's PCI id is among those listed in
109 section I, above.
110 2. Make sure routing is correct.
111 3. Try forcing different speed/duplex settings
114 There is also a tlan mailing list which you can join by sending "subscribe tlan"
115 in the body of an email to majordomo@vuser.vu.union.edu.
116 There is also a tlan website at http://opensource.compaq.com