ia64/linux-2.6.18-xen.hg

view Documentation/cpqarray.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 This driver is for Compaq's SMART2 Intelligent Disk Array Controllers.
3 Supported Cards:
4 ----------------
6 This driver is known to work with the following cards:
8 * SMART (EISA)
9 * SMART-2/E (EISA)
10 * SMART-2/P
11 * SMART-2DH
12 * SMART-2SL
13 * SMART-221
14 * SMART-3100ES
15 * SMART-3200
16 * Integrated Smart Array Controller
17 * SA 4200
18 * SA 4250ES
19 * SA 431
20 * RAID LC2 Controller
22 It should also work with some really old Disk array adapters, but I am
23 unable to test against these cards:
25 * IDA
26 * IDA-2
27 * IAES
30 EISA Controllers:
31 -----------------
33 If you want to use an EISA controller you'll have to supply some
34 modprobe/lilo parameters. If the driver is compiled into the kernel, must
35 give it the controller's IO port address at boot time (it is not
36 necessary to specify the IRQ). For example, if you had two SMART-2/E
37 controllers, in EISA slots 1 and 2 you'd give it a boot argument like
38 this:
40 smart2=0x1000,0x2000
42 If you were loading the driver as a module, you'd give load it like this:
44 modprobe cpqarray eisa=0x1000,0x2000
46 You can use EISA and PCI adapters at the same time.
49 Device Naming:
50 --------------
52 You need some entries in /dev for the ida device. MAKEDEV in the /dev
53 directory can make device nodes for you automatically. The device setup is
54 as follows:
56 Major numbers:
57 72 ida0
58 73 ida1
59 74 ida2
60 75 ida3
61 76 ida4
62 77 ida5
63 78 ida6
64 79 ida7
66 Minor numbers:
67 b7 b6 b5 b4 b3 b2 b1 b0
68 |----+----| |----+----|
69 | |
70 | +-------- Partition ID (0=wholedev, 1-15 partition)
71 |
72 +-------------------- Logical Volume number
74 The device naming scheme is:
75 /dev/ida/c0d0 Controller 0, disk 0, whole device
76 /dev/ida/c0d0p1 Controller 0, disk 0, partition 1
77 /dev/ida/c0d0p2 Controller 0, disk 0, partition 2
78 /dev/ida/c0d0p3 Controller 0, disk 0, partition 3
80 /dev/ida/c1d1 Controller 1, disk 1, whole device
81 /dev/ida/c1d1p1 Controller 1, disk 1, partition 1
82 /dev/ida/c1d1p2 Controller 1, disk 1, partition 2
83 /dev/ida/c1d1p3 Controller 1, disk 1, partition 3
86 Changelog:
87 ==========
89 10-28-2004 : General cleanup, syntax fixes for in-kernel driver version.
90 James Nelson <james4765@gmail.com>
93 1999 : Original Document