aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2009-06-05 06:58:37 -0400
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-12-04 11:15:19 -0500
commitbc2c0303226ec716854d3c208c7f84fe7aa35cd7 (patch)
treec4ae7635426fbf71ca1044bb72f0c5f5c3ea7acc /arch/x86
parent3d65c9488cadd2f11bd4d60c7266e639ece5d0d6 (diff)
xen: 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> Cc: Stable Kernel <stable@kernel.org>
Diffstat (limited to 'arch/x86')
0 files changed, 0 insertions, 0 deletions