view Documentation/networking/iphase.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
3 ATM (i)Chip IA Linux Driver Source
4 --------------------------------------------------------------------------------
5 Read This Before You Begin!
6 --------------------------------------------------------------------------------
8 Description
9 -----------
11 This is the README file for the Interphase PCI ATM (i)Chip IA Linux driver
12 source release.
14 The features and limitations of this driver are as follows:
15 - A single VPI (VPI value of 0) is supported.
16 - Supports 4K VCs for the server board (with 512K control memory) and 1K
17 VCs for the client board (with 128K control memory).
18 - UBR, ABR and CBR service categories are supported.
19 - Only AAL5 is supported.
20 - Supports setting of PCR on the VCs.
21 - Multiple adapters in a system are supported.
22 - All variants of Interphase ATM PCI (i)Chip adapter cards are supported,
23 including x575 (OC3, control memory 128K , 512K and packet memory 128K,
24 512K and 1M), x525 (UTP25) and x531 (DS3 and E3). See
25 http://www.iphase.com/site/iphase-web/?epi_menuItemID=e196f04b4b3b40502f150882e21046a0
26 for details.
27 - Only x86 platforms are supported.
28 - SMP is supported.
31 Before You Start
32 ----------------
35 Installation
36 ------------
38 1. Installing the adapters in the system
39 To install the ATM adapters in the system, follow the steps below.
40 a. Login as root.
41 b. Shut down the system and power off the system.
42 c. Install one or more ATM adapters in the system.
43 d. Connect each adapter to a port on an ATM switch. The green 'Link'
44 LED on the front panel of the adapter will be on if the adapter is
45 connected to the switch properly when the system is powered up.
46 e. Power on and boot the system.
48 2. [ Removed ]
50 3. Rebuild kernel with ABR support
51 [ a. and b. removed ]
52 c. Reconfigure the kernel, choose the Interphase ia driver through "make
53 menuconfig" or "make xconfig".
54 d. Rebuild the kernel, loadable modules and the atm tools.
55 e. Install the new built kernel and modules and reboot.
57 4. Load the adapter hardware driver (ia driver) if it is built as a module
58 a. Login as root.
59 b. Change directory to /lib/modules/<kernel-version>/atm.
60 c. Run "insmod suni.o;insmod iphase.o"
61 The yellow 'status' LED on the front panel of the adapter will blink
62 while the driver is loaded in the system.
63 d. To verify that the 'ia' driver is loaded successfully, run the
64 following command:
66 cat /proc/atm/devices
68 If the driver is loaded successfully, the output of the command will
69 be similar to the following lines:
71 Itf Type ESI/"MAC"addr AAL(TX,err,RX,err,drop) ...
72 0 ia xxxxxxxxx 0 ( 0 0 0 0 0 ) 5 ( 0 0 0 0 0 )
74 You can also check the system log file /var/log/messages for messages
75 related to the ATM driver.
77 5. Ia Driver Configuration
79 5.1 Configuration of adapter buffers
80 The (i)Chip boards have 3 different packet RAM size variants: 128K, 512K and
81 1M. The RAM size decides the number of buffers and buffer size. The default
82 size and number of buffers are set as following:
84 Totol Rx RAM Tx RAM Rx Buf Tx Buf Rx buf Tx buf
85 RAM size size size size size cnt cnt
86 -------- ------ ------ ------ ------ ------ ------
87 128K 64K 64K 10K 10K 6 6
88 512K 256K 256K 10K 10K 25 25
89 1M 512K 512K 10K 10K 51 51
91 These setting should work well in most environments, but can be
92 changed by typing the following command:
94 insmod <IA_DIR>/ia.o IA_RX_BUF=<RX_CNT> IA_RX_BUF_SZ=<RX_SIZE> \
96 Where:
97 RX_CNT = number of receive buffers in the range (1-128)
98 RX_SIZE = size of receive buffers in the range (48-64K)
99 TX_CNT = number of transmit buffers in the range (1-128)
100 TX_SIZE = size of transmit buffers in the range (48-64K)
102 1. Transmit and receive buffer size must be a multiple of 4.
103 2. Care should be taken so that the memory required for the
104 transmit and receive buffers is less than or equal to the
105 total adapter packet memory.
107 5.2 Turn on ia debug trace
109 When the ia driver is built with the CONFIG_ATM_IA_DEBUG flag, the driver
110 can provide more debug trace if needed. There is a bit mask variable,
111 IADebugFlag, which controls the output of the traces. You can find the bit
112 map of the IADebugFlag in iphase.h.
113 The debug trace can be turn on through the insmod command line option, for
114 example, "insmod iphase.o IADebugFlag=0xffffffff" can turn on all the debug
115 traces together with loading the driver.
117 6. Ia Driver Test Using ttcp_atm and PVC
119 For the PVC setup, the test machines can either be connected back-to-back or
120 through a switch. If connected through the switch, the switch must be
121 configured for the PVC(s).
123 a. For UBR test:
124 At the test machine intended to receive data, type:
125 ttcp_atm -r -a -s 0.100
126 At the other test machine, type:
127 ttcp_atm -t -a -s 0.100 -n 10000
128 Run "ttcp_atm -h" to display more options of the ttcp_atm tool.
129 b. For ABR test:
130 It is the same as the UBR testing, but with an extra command option:
131 -Pabr:max_pcr=<xxx>
132 where:
133 xxx = the maximum peak cell rate, from 170 - 353207.
134 This option must be set on both the machines.
135 c. For CBR test:
136 It is the same as the UBR testing, but with an extra command option:
137 -Pcbr:max_pcr=<xxx>
138 where:
139 xxx = the maximum peak cell rate, from 170 - 353207.
140 This option may only be set on the transmit machine.
144 ------------------
148 Contact Information
149 -------------------
151 Customer Support:
152 United States: Telephone: (214) 654-5555
153 Fax: (214) 654-5500
154 E-Mail: intouch@iphase.com
155 Europe: Telephone: 33 (0)1 41 15 44 00
156 Fax: 33 (0)1 41 15 12 13
157 World Wide Web: http://www.iphase.com
158 Anonymous FTP: ftp.iphase.com