view Documentation/digiepca.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 NOTE: This driver is obsolete. Digi provides a 2.6 driver (dgdm) at
2 http://www.digi.com for PCI cards. They no longer maintain this driver,
3 and have no 2.6 driver for ISA cards.
5 This driver requires a number of user-space tools. They can be acquired from
6 http://www.digi.com, but only works with 2.4 kernels.
9 The Digi Intl. epca driver.
10 ----------------------------
11 The Digi Intl. epca driver for Linux supports the following boards:
13 Digi PC/Xem, PC/Xr, PC/Xe, PC/Xi, PC/Xeve
14 Digi EISA/Xem, PCI/Xem, PCI/Xr
16 Limitations:
17 ------------
18 Currently the driver only autoprobes for supported PCI boards.
20 The Linux MAKEDEV command does not support generating the Digiboard
21 Devices. Users executing digiConfig to setup EISA and PC series cards
22 will have their device nodes automatically constructed (cud?? for ~CLOCAL,
23 and ttyD?? for CLOCAL). Users wishing to boot their board from the LILO
24 prompt, or those users booting PCI cards may use buildDIGI to construct
25 the necessary nodes.
27 Notes:
28 ------
29 This driver may be configured via LILO. For users who have already configured
30 their driver using digiConfig, configuring from LILO will override previous
31 settings. Multiple boards may be configured by issuing multiple LILO command
32 lines. For examples see the bottom of this document.
34 Device names start at 0 and continue up. Beware of this as previous Digi
35 drivers started device names with 1.
37 PCI boards are auto-detected and configured by the driver. PCI boards will
38 be allocated device numbers (internally) beginning with the lowest PCI slot
39 first. In other words a PCI card in slot 3 will always have higher device
40 nodes than a PCI card in slot 1.
42 LILO config examples:
43 ---------------------
44 Using LILO's APPEND command, a string of comma separated identifiers or
45 integers can be used to configure supported boards. The six values in order
46 are:
48 Enable/Disable this card or Override,
49 Type of card: PC/Xe (AccelePort) (0), PC/Xeve (1), PC/Xem or PC/Xr (2),
50 EISA/Xem (3), PC/64Xe (4), PC/Xi (5),
51 Enable/Disable alternate pin arrangement,
52 Number of ports on this card,
53 I/O Port where card is configured (in HEX if using string identifiers),
54 Base of memory window (in HEX if using string identifiers),
56 NOTE : PCI boards are auto-detected and configured. Do not attempt to
57 configure PCI boards with the LILO append command. If you wish to override
58 previous configuration data (As set by digiConfig), but you do not wish to
59 configure any specific card (Example if there are PCI cards in the system)
60 the following override command will accomplish this:
61 -> append="digi=2"
63 Samples:
64 append="digiepca=E,PC/Xe,D,16,200,D0000"
65 or
66 append="digi=1,0,0,16,512,851968"
68 Supporting Tools:
69 -----------------
70 Supporting tools include digiDload, digiConfig, buildPCI, and ditty. See
71 drivers/char/README.epca for more details. Note,
72 this driver REQUIRES that digiDload be executed prior to it being used.
73 Failure to do this will result in an ENODEV error.
75 Documentation:
76 --------------
77 Complete documentation for this product may be found in the tool package.
79 Sources of information and support:
80 -----------------------------------
81 Digi Intl. support site for this product:
83 -> http://www.digi.com
85 Acknowledgments:
86 ----------------
87 Much of this work (And even text) was derived from a similar document
88 supporting the original public domain DigiBoard driver Copyright (C)
89 1994,1995 Troy De Jongh. Many thanks to Christoph Lameter
90 (christoph@lameter.com) and Mike McLagan (mike.mclagan@linux.org) who authored
91 and contributed to the original document.
93 Changelog:
94 ----------
95 10-29-04: Update status of driver, remove dead links in document
96 James Nelson <james4765@gmail.com>
98 2000 (?) Original Document