view arch/mips/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
line source
1 menu "Kernel hacking"
4 bool
5 default y
7 source "lib/Kconfig.debug"
10 bool "Are you using a crosscompiler"
11 help
12 Say Y here if you are compiling the kernel on a different
13 architecture than the one it is intended to run on. This is just a
14 convenience option which will select the appropriate value for
15 the CROSS_COMPILE make variable which otherwise has to be passed on
16 the command line from mips-linux-, mipsel-linux-, mips64-linux- and
17 mips64el-linux- as appropriate for a particular kernel configuration.
18 You will have to pass the value for CROSS_COMPILE manually if the
19 name prefix for your tools is different.
21 config CMDLINE
22 string "Default kernel command string"
23 default ""
24 help
25 On some platforms, there is currently no way for the boot loader to
26 pass arguments to the kernel. For these platforms, you can supply
27 some command-line options at build time by entering them here. In
28 other cases you can specify kernel args so that you don't have
29 to set them up in board prom initialization routines.
32 bool "Enable stack utilization instrumentation"
33 depends on DEBUG_KERNEL
34 help
35 Enables the display of the minimum amount of free stack which each
36 task has ever had available in the sysrq-T and sysrq-P debug output.
38 This option will slow down process creation somewhat.
40 config KGDB
41 bool "Remote GDB kernel debugging"
42 depends on DEBUG_KERNEL
43 select DEBUG_INFO
44 help
45 If you say Y here, it will be possible to remotely debug the MIPS
46 kernel using gdb. This enlarges your kernel image disk size by
47 several megabytes and requires a machine with more than 16 MB,
48 better 32 MB RAM to avoid excessive linking time. This is only
49 useful for kernel hackers. If unsure, say N.
51 config GDB_CONSOLE
52 bool "Console output to GDB"
53 depends on KGDB
54 help
55 If you are using GDB for remote debugging over a serial port and
56 would like kernel messages to be formatted into GDB $O packets so
57 that GDB prints them as program output, say 'Y'.
59 config SB1XXX_CORELIS
60 bool "Corelis Debugger"
61 depends on SIBYTE_SB1xxx_SOC
62 select DEBUG_INFO
63 help
64 Select compile flags that produce code that can be processed by the
65 Corelis mksym utility and UDB Emulator.
68 bool "Enable run-time debugging"
69 depends on DEBUG_KERNEL
70 help
71 If you say Y here, some debugging macros will do run-time checking.
72 If you say N here, those macros will mostly turn to no-ops. See
73 include/asm-mips/debug.h for debuging macros.
74 If unsure, say N.
77 bool "Run uncached"
78 depends on DEBUG_KERNEL && !SMP && !SGI_IP27
79 help
80 If you say Y here there kernel will disable all CPU caches. This will
81 reduce the system's performance dramatically but can help finding
82 otherwise hard to track bugs. It can also useful if you're doing
83 hardware debugging with a logic analyzer and need to see all traffic
84 on the bus.
86 endmenu