ia64/linux-2.6.18-xen.hg

view arch/alpha/Kconfig.debug @ 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 menu "Kernel hacking"
3 source "lib/Kconfig.debug"
5 config EARLY_PRINTK
6 bool
7 depends on ALPHA_GENERIC || ALPHA_SRM
8 default y
10 config DEBUG_RWLOCK
11 bool "Read-write spinlock debugging"
12 depends on DEBUG_KERNEL
13 help
14 If you say Y here then read-write lock processing will count how many
15 times it has tried to get the lock and issue an error message after
16 too many attempts. If you suspect a rwlock problem or a kernel
17 hacker asks for this option then say Y. Otherwise say N.
19 config DEBUG_SEMAPHORE
20 bool "Semaphore debugging"
21 depends on DEBUG_KERNEL
22 help
23 If you say Y here then semaphore processing will issue lots of
24 verbose debugging messages. If you suspect a semaphore problem or a
25 kernel hacker asks for this option then say Y. Otherwise say N.
27 config ALPHA_LEGACY_START_ADDRESS
28 bool "Legacy kernel start address"
29 depends on ALPHA_GENERIC
30 default n
31 ---help---
32 The 2.4 kernel changed the kernel start address from 0x310000
33 to 0x810000 to make room for the Wildfire's larger SRM console.
34 Recent consoles on Titan and Marvel machines also require the
35 extra room.
37 If you're using aboot 0.7 or later, the bootloader will examine the
38 ELF headers to determine where to transfer control. Unfortunately,
39 most older bootloaders -- APB or MILO -- hardcoded the kernel start
40 address rather than examining the ELF headers, and the result is a
41 hard lockup.
43 Say Y if you have a broken bootloader. Say N if you do not, or if
44 you wish to run on Wildfire, Titan, or Marvel.
46 config ALPHA_LEGACY_START_ADDRESS
47 bool
48 depends on !ALPHA_GENERIC && !ALPHA_TITAN && !ALPHA_MARVEL && !ALPHA_WILDFIRE
49 default y
51 config MATHEMU
52 tristate "Kernel FP software completion" if DEBUG_KERNEL && !SMP
53 default y if !DEBUG_KERNEL || SMP
54 help
55 This option is required for IEEE compliant floating point arithmetic
56 on the Alpha. The only time you would ever not say Y is to say M in
57 order to debug the code. Say Y unless you know what you are doing.
59 endmenu