ia64/linux-2.6.18-xen.hg

view Documentation/arm/nwfpe/README @ 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 directory contains the version 0.92 test release of the NetWinder
2 Floating Point Emulator.
4 The majority of the code was written by me, Scott Bambrough It is
5 written in C, with a small number of routines in inline assembler
6 where required. It was written quickly, with a goal of implementing a
7 working version of all the floating point instructions the compiler
8 emits as the first target. I have attempted to be as optimal as
9 possible, but there remains much room for improvement.
11 I have attempted to make the emulator as portable as possible. One of
12 the problems is with leading underscores on kernel symbols. Elf
13 kernels have no leading underscores, a.out compiled kernels do. I
14 have attempted to use the C_SYMBOL_NAME macro wherever this may be
15 important.
17 Another choice I made was in the file structure. I have attempted to
18 contain all operating system specific code in one module (fpmodule.*).
19 All the other files contain emulator specific code. This should allow
20 others to port the emulator to NetBSD for instance relatively easily.
22 The floating point operations are based on SoftFloat Release 2, by
23 John Hauser. SoftFloat is a software implementation of floating-point
24 that conforms to the IEC/IEEE Standard for Binary Floating-point
25 Arithmetic. As many as four formats are supported: single precision,
26 double precision, extended double precision, and quadruple precision.
27 All operations required by the standard are implemented, except for
28 conversions to and from decimal. We use only the single precision,
29 double precision and extended double precision formats. The port of
30 SoftFloat to the ARM was done by Phil Blundell, based on an earlier
31 port of SoftFloat version 1 by Neil Carson for NetBSD/arm32.
33 The file README.FPE contains a description of what has been implemented
34 so far in the emulator. The file TODO contains a information on what
35 remains to be done, and other ideas for the emulator.
37 Bug reports, comments, suggestions should be directed to me at
38 <scottb@netwinder.org>. General reports of "this program doesn't
39 work correctly when your emulator is installed" are useful for
40 determining that bugs still exist; but are virtually useless when
41 attempting to isolate the problem. Please report them, but don't
42 expect quick action. Bugs still exist. The problem remains in isolating
43 which instruction contains the bug. Small programs illustrating a specific
44 problem are a godsend.
46 Legal Notices
47 -------------
49 The NetWinder Floating Point Emulator is free software. Everything Rebel.com
50 has written is provided under the GNU GPL. See the file COPYING for copying
51 conditions. Excluded from the above is the SoftFloat code. John Hauser's
52 legal notice for SoftFloat is included below.
54 -------------------------------------------------------------------------------
55 SoftFloat Legal Notice
57 SoftFloat was written by John R. Hauser. This work was made possible in
58 part by the International Computer Science Institute, located at Suite 600,
59 1947 Center Street, Berkeley, California 94704. Funding was partially
60 provided by the National Science Foundation under grant MIP-9311980. The
61 original version of this code was written as part of a project to build
62 a fixed-point vector processor in collaboration with the University of
63 California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek.
65 THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
66 has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
67 TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
68 PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
69 AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
70 -------------------------------------------------------------------------------