ia64/linux-2.6.18-xen.hg

view drivers/atm/Kconfig @ 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 #
2 # ATM device configuration
3 #
5 menu "ATM drivers"
6 depends on NETDEVICES && ATM
8 config ATM_DUMMY
9 tristate "Dummy ATM driver"
10 depends on ATM
11 help
12 Dummy ATM driver. Useful for proxy signalling, testing,
13 and development. If unsure, say N.
15 config ATM_TCP
16 tristate "ATM over TCP"
17 depends on INET && ATM
18 help
19 ATM over TCP driver. Useful mainly for development and for
20 experiments. If unsure, say N.
22 config ATM_LANAI
23 tristate "Efficient Networks Speedstream 3010"
24 depends on PCI && ATM
25 help
26 Supports ATM cards based on the Efficient Networks "Lanai"
27 chipset such as the Speedstream 3010 and the ENI-25p. The
28 Speedstream 3060 is currently not supported since we don't
29 have the code to drive the on-board Alcatel DSL chipset (yet).
31 config ATM_ENI
32 tristate "Efficient Networks ENI155P"
33 depends on PCI && ATM
34 ---help---
35 Driver for the Efficient Networks ENI155p series and SMC ATM
36 Power155 155 Mbps ATM adapters. Both, the versions with 512KB and
37 2MB on-board RAM (Efficient calls them "C" and "S", respectively),
38 and the FPGA and the ASIC Tonga versions of the board are supported.
39 The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D)
40 adapters.
42 To compile this driver as a module, choose M here: the module will
43 be called eni.
45 config ATM_ENI_DEBUG
46 bool "Enable extended debugging"
47 depends on ATM_ENI
48 help
49 Extended debugging records various events and displays that list
50 when an inconsistency is detected. This mechanism is faster than
51 generally using printks, but still has some impact on performance.
52 Note that extended debugging may create certain race conditions
53 itself. Enable this ONLY if you suspect problems with the driver.
55 config ATM_ENI_TUNE_BURST
56 bool "Fine-tune burst settings"
57 depends on ATM_ENI
58 ---help---
59 In order to obtain good throughput, the ENI NIC can transfer
60 multiple words of data per PCI bus access cycle. Such a multi-word
61 transfer is called a burst.
63 The default settings for the burst sizes are suitable for most PCI
64 chipsets. However, in some cases, large bursts may overrun buffers
65 in the PCI chipset and cause data corruption. In such cases, large
66 bursts must be disabled and only (slower) small bursts can be used.
67 The burst sizes can be set independently in the send (TX) and
68 receive (RX) direction.
70 Note that enabling many different burst sizes in the same direction
71 may increase the cost of setting up a transfer such that the
72 resulting throughput is lower than when using only the largest
73 available burst size.
75 Also, sometimes larger bursts lead to lower throughput, e.g. on an
76 Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed
77 when going from 8W to 16W bursts.
79 config ATM_ENI_BURST_TX_16W
80 bool "Enable 16W TX bursts (discouraged)"
81 depends on ATM_ENI_TUNE_BURST
82 help
83 Burst sixteen words at once in the send direction. This may work
84 with recent PCI chipsets, but is known to fail with older chipsets.
86 config ATM_ENI_BURST_TX_8W
87 bool "Enable 8W TX bursts (recommended)"
88 depends on ATM_ENI_TUNE_BURST
89 help
90 Burst eight words at once in the send direction. This is the default
91 setting.
93 config ATM_ENI_BURST_TX_4W
94 bool "Enable 4W TX bursts (optional)"
95 depends on ATM_ENI_TUNE_BURST
96 help
97 Burst four words at once in the send direction. You may want to try
98 this if you have disabled 8W bursts. Enabling 4W if 8W is also set
99 may or may not improve throughput.
101 config ATM_ENI_BURST_TX_2W
102 bool "Enable 2W TX bursts (optional)"
103 depends on ATM_ENI_TUNE_BURST
104 help
105 Burst two words at once in the send direction. You may want to try
106 this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W
107 are also set may or may not improve throughput.
109 config ATM_ENI_BURST_RX_16W
110 bool "Enable 16W RX bursts (discouraged)"
111 depends on ATM_ENI_TUNE_BURST
112 help
113 Burst sixteen words at once in the receive direction. This may work
114 with recent PCI chipsets, but is known to fail with older chipsets.
116 config ATM_ENI_BURST_RX_8W
117 bool "Enable 8W RX bursts (discouraged)"
118 depends on ATM_ENI_TUNE_BURST
119 help
120 Burst eight words at once in the receive direction. This may work
121 with recent PCI chipsets, but is known to fail with older chipsets,
122 such as the Intel Neptune series.
124 config ATM_ENI_BURST_RX_4W
125 bool "Enable 4W RX bursts (recommended)"
126 depends on ATM_ENI_TUNE_BURST
127 help
128 Burst four words at once in the receive direction. This is the
129 default setting. Enabling 4W if 8W is also set may or may not
130 improve throughput.
132 config ATM_ENI_BURST_RX_2W
133 bool "Enable 2W RX bursts (optional)"
134 depends on ATM_ENI_TUNE_BURST
135 help
136 Burst two words at once in the receive direction. You may want to
137 try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or
138 8W are also set may or may not improve throughput.
140 config ATM_FIRESTREAM
141 tristate "Fujitsu FireStream (FS50/FS155) "
142 depends on PCI && ATM
143 help
144 Driver for the Fujitsu FireStream 155 (MB86697) and
145 FireStream 50 (MB86695) ATM PCI chips.
147 To compile this driver as a module, choose M here: the module will
148 be called firestream.
150 config ATM_ZATM
151 tristate "ZeitNet ZN1221/ZN1225"
152 depends on PCI && ATM
153 help
154 Driver for the ZeitNet ZN1221 (MMF) and ZN1225 (UTP-5) 155 Mbps ATM
155 adapters.
157 To compile this driver as a module, choose M here: the module will
158 be called zatm.
160 config ATM_ZATM_DEBUG
161 bool "Enable extended debugging"
162 depends on ATM_ZATM
163 help
164 Extended debugging records various events and displays that list
165 when an inconsistency is detected. This mechanism is faster than
166 generally using printks, but still has some impact on performance.
167 Note that extended debugging may create certain race conditions
168 itself. Enable this ONLY if you suspect problems with the driver.
170 # bool 'Rolfs TI TNETA1570' CONFIG_ATM_TNETA1570 y
171 # if [ "$CONFIG_ATM_TNETA1570" = "y" ]; then
172 # bool ' Enable extended debugging' CONFIG_ATM_TNETA1570_DEBUG n
173 # fi
174 config ATM_NICSTAR
175 tristate "IDT 77201 (NICStAR) (ForeRunnerLE)"
176 depends on PCI && ATM && !64BIT
177 help
178 The NICStAR chipset family is used in a large number of ATM NICs for
179 25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE
180 series. Say Y if you have one of those.
182 To compile this driver as a module, choose M here: the module will
183 be called nicstar.
185 config ATM_NICSTAR_USE_SUNI
186 bool "Use suni PHY driver (155Mbps)"
187 depends on ATM_NICSTAR
188 help
189 Support for the S-UNI and compatible PHYsical layer chips. These are
190 found in most 155Mbps NICStAR based ATM cards, namely in the
191 ForeRunner LE155 cards. This driver provides detection of cable~
192 removal and reinsertion and provides some statistics. This driver
193 doesn't have removal capability when compiled as a module, so if you
194 need that capability don't include S-UNI support (it's not needed to
195 make the card work).
197 config ATM_NICSTAR_USE_IDT77105
198 bool "Use IDT77015 PHY driver (25Mbps)"
199 depends on ATM_NICSTAR
200 help
201 Support for the PHYsical layer chip in ForeRunner LE25 cards. In
202 addition to cable removal/reinsertion detection, this driver allows
203 you to control the loopback mode of the chip via a dedicated IOCTL.
204 This driver is required for proper handling of temporary carrier
205 loss, so if you have a 25Mbps NICStAR based ATM card you must say Y.
207 config ATM_IDT77252
208 tristate "IDT 77252 (NICStAR II)"
209 depends on PCI && ATM
210 help
211 Driver for the IDT 77252 ATM PCI chips.
213 To compile this driver as a module, choose M here: the module will
214 be called idt77252.
216 config ATM_IDT77252_DEBUG
217 bool "Enable debugging messages"
218 depends on ATM_IDT77252
219 help
220 Somewhat useful debugging messages are available. The choice of
221 messages is controlled by a bitmap. This may be specified as a
222 module argument. See the file <file:drivers/atm/idt77252.h> for
223 the meanings of the bits in the mask.
225 When active, these messages can have a significant impact on the
226 speed of the driver, and the size of your syslog files! When
227 inactive, they will have only a modest impact on performance.
229 config ATM_IDT77252_RCV_ALL
230 bool "Receive ALL cells in raw queue"
231 depends on ATM_IDT77252
232 help
233 Enable receiving of all cells on the ATM link, that do not match
234 an open connection in the raw cell queue of the driver. Useful
235 for debugging or special applications only, so the safe answer is N.
237 config ATM_IDT77252_USE_SUNI
238 bool
239 depends on ATM_IDT77252
240 default y
242 config ATM_AMBASSADOR
243 tristate "Madge Ambassador (Collage PCI 155 Server)"
244 depends on PCI && ATM
245 help
246 This is a driver for ATMizer based ATM card produced by Madge
247 Networks Ltd. Say Y (or M to compile as a module named ambassador)
248 here if you have one of these cards.
250 config ATM_AMBASSADOR_DEBUG
251 bool "Enable debugging messages"
252 depends on ATM_AMBASSADOR
253 ---help---
254 Somewhat useful debugging messages are available. The choice of
255 messages is controlled by a bitmap. This may be specified as a
256 module argument (kernel command line argument as well?), changed
257 dynamically using an ioctl (not yet) or changed by sending the
258 string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file
259 <file:drivers/atm/ambassador.h> for the meanings of the bits in the
260 mask.
262 When active, these messages can have a significant impact on the
263 speed of the driver, and the size of your syslog files! When
264 inactive, they will have only a modest impact on performance.
266 config ATM_HORIZON
267 tristate "Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client)"
268 depends on PCI && ATM
269 help
270 This is a driver for the Horizon chipset ATM adapter cards once
271 produced by Madge Networks Ltd. Say Y (or M to compile as a module
272 named horizon) here if you have one of these cards.
274 config ATM_HORIZON_DEBUG
275 bool "Enable debugging messages"
276 depends on ATM_HORIZON
277 ---help---
278 Somewhat useful debugging messages are available. The choice of
279 messages is controlled by a bitmap. This may be specified as a
280 module argument (kernel command line argument as well?), changed
281 dynamically using an ioctl (not yet) or changed by sending the
282 string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file
283 <file:drivers/atm/horizon.h> for the meanings of the bits in the
284 mask.
286 When active, these messages can have a significant impact on the
287 speed of the driver, and the size of your syslog files! When
288 inactive, they will have only a modest impact on performance.
290 config ATM_IA
291 tristate "Interphase ATM PCI x575/x525/x531"
292 depends on PCI && ATM && !64BIT
293 ---help---
294 This is a driver for the Interphase (i)ChipSAR adapter cards
295 which include a variety of variants in term of the size of the
296 control memory (128K-1KVC, 512K-4KVC), the size of the packet
297 memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3,
298 UTP155, UTP25, DS3 and E3). Go to:
299 <http://www.iphase.com/products/ClassSheet.cfm?ClassID=ATM>
300 for more info about the cards. Say Y (or M to compile as a module
301 named iphase) here if you have one of these cards.
303 See the file <file:Documentation/networking/iphase.txt> for further
304 details.
306 config ATM_IA_DEBUG
307 bool "Enable debugging messages"
308 depends on ATM_IA
309 ---help---
310 Somewhat useful debugging messages are available. The choice of
311 messages is controlled by a bitmap. This may be specified as a
312 module argument (kernel command line argument as well?), changed
313 dynamically using an ioctl (Get the debug utility, iadbg, from
314 <ftp://ftp.iphase.com/pub/atm/pci/>).
316 See the file <file:drivers/atm/iphase.h> for the meanings of the
317 bits in the mask.
319 When active, these messages can have a significant impact on the
320 speed of the driver, and the size of your syslog files! When
321 inactive, they will have only a modest impact on performance.
323 config ATM_FORE200E_MAYBE
324 tristate "FORE Systems 200E-series"
325 depends on (PCI || SBUS) && ATM
326 ---help---
327 This is a driver for the FORE Systems 200E-series ATM adapter
328 cards. It simultaneously supports PCA-200E and SBA-200E models
329 on PCI and SBUS hosts. Say Y (or M to compile as a module
330 named fore_200e) here if you have one of these ATM adapters.
332 Note that the driver will actually be compiled only if you
333 additionally enable the support for PCA-200E and/or SBA-200E
334 cards.
336 See the file <file:Documentation/networking/fore200e.txt> for
337 further details.
339 config ATM_FORE200E_PCA
340 bool "PCA-200E support"
341 depends on ATM_FORE200E_MAYBE && PCI
342 help
343 Say Y here if you want your PCA-200E cards to be probed.
345 config ATM_FORE200E_PCA_DEFAULT_FW
346 bool "Use default PCA-200E firmware (normally enabled)"
347 depends on ATM_FORE200E_PCA
348 help
349 Use the default PCA-200E firmware data shipped with the driver.
351 Normal users do not have to deal with the firmware stuff, so
352 they should say Y here.
354 config ATM_FORE200E_PCA_FW
355 string "Pathname of user-supplied binary firmware"
356 depends on ATM_FORE200E_PCA && !ATM_FORE200E_PCA_DEFAULT_FW
357 default ""
358 help
359 This defines the pathname of an alternative PCA-200E binary
360 firmware image supplied by the user. This pathname may be
361 absolute or relative to the drivers/atm directory.
363 The driver comes with an adequate firmware image, so normal users do
364 not have to supply an alternative one. They just say Y to "Use
365 default PCA-200E firmware" instead.
367 config ATM_FORE200E_SBA
368 bool "SBA-200E support"
369 depends on ATM_FORE200E_MAYBE && SBUS
370 help
371 Say Y here if you want your SBA-200E cards to be probed.
373 config ATM_FORE200E_SBA_DEFAULT_FW
374 bool "Use default SBA-200E firmware (normally enabled)"
375 depends on ATM_FORE200E_SBA
376 help
377 Use the default SBA-200E firmware data shipped with the driver.
379 Normal users do not have to deal with the firmware stuff, so
380 they should say Y here.
382 config ATM_FORE200E_SBA_FW
383 string "Pathname of user-supplied binary firmware"
384 depends on ATM_FORE200E_SBA && !ATM_FORE200E_SBA_DEFAULT_FW
385 default ""
386 help
387 This defines the pathname of an alternative SBA-200E binary
388 firmware image supplied by the user. This pathname may be
389 absolute or relative to the drivers/atm directory.
391 The driver comes with an adequate firmware image, so normal users do
392 not have to supply an alternative one. They just say Y to "Use
393 default SBA-200E firmware", above.
395 config ATM_FORE200E_USE_TASKLET
396 bool "Defer interrupt work to a tasklet"
397 depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
398 default n
399 help
400 This defers work to be done by the interrupt handler to a
401 tasklet instead of handling everything at interrupt time. This
402 may improve the responsive of the host.
404 config ATM_FORE200E_TX_RETRY
405 int "Maximum number of tx retries"
406 depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
407 default "16"
408 ---help---
409 Specifies the number of times the driver attempts to transmit
410 a message before giving up, if the transmit queue of the ATM card
411 is transiently saturated.
413 Saturation of the transmit queue may occur only under extreme
414 conditions, e.g. when a fast host continuously submits very small
415 frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
417 Note that under common conditions, it is unlikely that you encounter
418 a saturation of the transmit queue, so the retry mechanism never
419 comes into play.
421 config ATM_FORE200E_DEBUG
422 int "Debugging level (0-3)"
423 depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
424 default "0"
425 help
426 Specifies the level of debugging messages issued by the driver.
427 The verbosity of the driver increases with the value of this
428 parameter.
430 When active, these messages can have a significant impact on
431 the performances of the driver, and the size of your syslog files!
432 Keep the debugging level to 0 during normal operations.
434 config ATM_FORE200E
435 tristate
436 depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
437 default m if ATM_FORE200E_MAYBE!=y
438 default y if ATM_FORE200E_MAYBE=y
440 config ATM_HE
441 tristate "ForeRunner HE Series"
442 depends on PCI && ATM
443 help
444 This is a driver for the Marconi ForeRunner HE-series ATM adapter
445 cards. It simultaneously supports the 155 and 622 versions.
447 config ATM_HE_USE_SUNI
448 bool "Use S/UNI PHY driver"
449 depends on ATM_HE
450 help
451 Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
452 HE cards. This driver provides carrier detection some statistics.
454 endmenu