view Documentation/sysctl/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
line source
1 Documentation for /proc/sys/ kernel version 2.2.10
2 (c) 1998, 1999, Rik van Riel <riel@nl.linux.org>
4 'Why', I hear you ask, 'would anyone even _want_ documentation
5 for them sysctl files? If anybody really needs it, it's all in
6 the source...'
8 Well, this documentation is written because some people either
9 don't know they need to tweak something, or because they don't
10 have the time or knowledge to read the source code.
12 Furthermore, the programmers who built sysctl have built it to
13 be actually used, not just for the fun of programming it :-)
15 ==============================================================
17 Legal blurb:
19 As usual, there are two main things to consider:
20 1. you get what you pay for
21 2. it's free
23 The consequences are that I won't guarantee the correctness of
24 this document, and if you come to me complaining about how you
25 screwed up your system because of wrong documentation, I won't
26 feel sorry for you. I might even laugh at you...
28 But of course, if you _do_ manage to screw up your system using
29 only the sysctl options used in this file, I'd like to hear of
30 it. Not only to have a great laugh, but also to make sure that
31 you're the last RTFMing person to screw up.
33 In short, e-mail your suggestions, corrections and / or horror
34 stories to: <riel@nl.linux.org>
36 Rik van Riel.
38 ==============================================================
40 Introduction:
42 Sysctl is a means of configuring certain aspects of the kernel
43 at run-time, and the /proc/sys/ directory is there so that you
44 don't even need special tools to do it!
45 In fact, there are only four things needed to use these config
46 facilities:
47 - a running Linux system
48 - root access
49 - common sense (this is especially hard to come by these days)
50 - knowledge of what all those values mean
52 As a quick 'ls /proc/sys' will show, the directory consists of
53 several (arch-dependent?) subdirs. Each subdir is mainly about
54 one part of the kernel, so you can do configuration on a piece
55 by piece basis, or just some 'thematic frobbing'.
57 The subdirs are about:
58 abi/ execution domains & personalities
59 debug/ <empty>
60 dev/ device specific information (eg dev/cdrom/info)
61 fs/ specific filesystems
62 filehandle, inode, dentry and quota tuning
63 binfmt_misc <Documentation/binfmt_misc.txt>
64 kernel/ global kernel info / tuning
65 miscellaneous stuff
66 net/ networking stuff, for documentation look in:
67 <Documentation/networking/>
68 proc/ <empty>
69 sunrpc/ SUN Remote Procedure Call (NFS)
70 vm/ memory management tuning
71 buffer and cache management
73 These are the subdirs I have on my system. There might be more
74 or other subdirs in another setup. If you see another dir, I'd
75 really like to hear about it :-)