ia64/linux-2.6.18-xen.hg

view arch/sparc/Kconfig @ 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 # $Id: config.in,v 1.113 2002/01/24 22:14:44 davem Exp $
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
6 mainmenu "Linux/SPARC Kernel Configuration"
8 config MMU
9 bool
10 default y
12 config HIGHMEM
13 bool
14 default y
16 config GENERIC_ISA_DMA
17 bool
18 default y
20 source "init/Kconfig"
22 menu "General machine setup"
24 config SMP
25 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
26 ---help---
27 This enables support for systems with more than one CPU. If you have
28 a system with only one CPU, say N. If you have a system with more
29 than one CPU, say Y.
31 If you say N here, the kernel will run on single and multiprocessor
32 machines, but will use only one CPU of a multiprocessor machine. If
33 you say Y here, the kernel will run on many, but not all,
34 singleprocessor machines. On a singleprocessor machine, the kernel
35 will run faster if you say N here.
37 People using multiprocessor machines who say Y here should also say
38 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
39 Management" code will be disabled if you say Y here.
41 See also the <file:Documentation/smp.txt>,
42 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
43 <http://www.tldp.org/docs.html#howto>.
45 If you don't know what to do here, say N.
47 config NR_CPUS
48 int "Maximum number of CPUs (2-32)"
49 range 2 32
50 depends on SMP
51 default "32"
53 config SPARC
54 bool
55 default y
57 # Identify this as a Sparc32 build
58 config SPARC32
59 bool
60 default y
61 help
62 SPARC is a family of RISC microprocessors designed and marketed by
63 Sun Microsystems, incorporated. They are very widely found in Sun
64 workstations and clones. This port covers the original 32-bit SPARC;
65 it is old and stable and usually considered one of the "big three"
66 along with the Intel and Alpha ports. The UltraLinux project
67 maintains both the SPARC32 and SPARC64 ports; its web page is
68 available at <http://www.ultralinux.org/>.
70 # Global things across all Sun machines.
71 config ISA
72 bool
73 help
74 ISA is found on Espresso only and is not supported currently.
75 Say N
77 config EISA
78 bool
79 help
80 EISA is not supported.
81 Say N
83 config MCA
84 bool
85 help
86 MCA is not supported.
87 Say N
89 config PCMCIA
90 tristate
91 ---help---
92 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
93 computer. These are credit-card size devices such as network cards,
94 modems or hard drives often used with laptops computers. There are
95 actually two varieties of these cards: the older 16 bit PCMCIA cards
96 and the newer 32 bit CardBus cards. If you want to use CardBus
97 cards, you need to say Y here and also to "CardBus support" below.
99 To use your PC-cards, you will need supporting software from David
100 Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
101 for location). Please also read the PCMCIA-HOWTO, available from
102 <http://www.tldp.org/docs.html#howto>.
104 To compile this driver as modules, choose M here: the
105 modules will be called pcmcia_core and ds.
107 config SBUS
108 bool
109 default y
111 config SBUSCHAR
112 bool
113 default y
115 config SERIAL_CONSOLE
116 bool
117 default y
118 ---help---
119 If you say Y here, it will be possible to use a serial port as the
120 system console (the system console is the device which receives all
121 kernel messages and warnings and which allows logins in single user
122 mode). This could be useful if some terminal or printer is connected
123 to that serial port.
125 Even if you say Y here, the currently visible virtual console
126 (/dev/tty0) will still be used as the system console by default, but
127 you can alter that using a kernel command line option such as
128 "console=ttyS1". (Try "man bootparam" or see the documentation of
129 your boot loader (silo) about how to pass options to the kernel at
130 boot time.)
132 If you don't have a graphics card installed and you say Y here, the
133 kernel will automatically use the first serial line, /dev/ttyS0, as
134 system console.
136 If unsure, say N.
138 config SUN_AUXIO
139 bool
140 default y
142 config SUN_IO
143 bool
144 default y
146 config RWSEM_GENERIC_SPINLOCK
147 bool
148 default y
150 config RWSEM_XCHGADD_ALGORITHM
151 bool
153 config GENERIC_FIND_NEXT_BIT
154 bool
155 default y
157 config GENERIC_HWEIGHT
158 bool
159 default y
161 config GENERIC_CALIBRATE_DELAY
162 bool
163 default y
165 config ARCH_MAY_HAVE_PC_FDC
166 bool
167 default y
169 config SUN_PM
170 bool
171 default y
172 help
173 Enable power management and CPU standby features on supported
174 SPARC platforms.
176 config SUN4
177 bool "Support for SUN4 machines (disables SUN4[CDM] support)"
178 depends on !SMP
179 default n
180 help
181 Say Y here if, and only if, your machine is a sun4. Note that
182 a kernel compiled with this option will run only on sun4.
183 (And the current version will probably work only on sun4/330.)
185 if !SUN4
187 config PCI
188 bool "Support for PCI and PS/2 keyboard/mouse"
189 help
190 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
191 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
192 All of these platforms are extremely obscure, so say N if unsure.
194 source "drivers/pci/Kconfig"
196 endif
198 config SUN_OPENPROMFS
199 tristate "Openprom tree appears in /proc/openprom"
200 help
201 If you say Y, the OpenPROM device tree will be available as a
202 virtual file system, which you can mount to /proc/openprom by "mount
203 -t openpromfs none /proc/openprom".
205 To compile the /proc/openprom support as a module, choose M here: the
206 module will be called openpromfs.
208 Only choose N if you know in advance that you will not need to modify
209 OpenPROM settings on the running system.
211 config SPARC_LED
212 tristate "Sun4m LED driver"
213 help
214 This driver toggles the front-panel LED on sun4m systems
215 in a user-specifyable manner. It's state can be probed
216 by reading /proc/led and it's blinking mode can be changed
217 via writes to /proc/led
219 source "fs/Kconfig.binfmt"
221 config SUNOS_EMUL
222 bool "SunOS binary emulation"
223 help
224 This allows you to run most SunOS binaries. If you want to do this,
225 say Y here and place appropriate files in /usr/gnemul/sunos. See
226 <http://www.ultralinux.org/faq.html> for more information. If you
227 want to run SunOS binaries on an Ultra you must also say Y to
228 "Kernel support for 32-bit a.out binaries" above.
230 source "mm/Kconfig"
232 endmenu
234 source "net/Kconfig"
236 source "drivers/Kconfig"
238 if !SUN4
239 source "drivers/sbus/char/Kconfig"
240 endif
242 # This one must be before the filesystem configs. -DaveM
244 menu "Unix98 PTY support"
246 config UNIX98_PTYS
247 bool "Unix98 PTY support"
248 ---help---
249 A pseudo terminal (PTY) is a software device consisting of two
250 halves: a master and a slave. The slave device behaves identical to
251 a physical terminal; the master device is used by a process to
252 read data from and write data to the slave, thereby emulating a
253 terminal. Typical programs for the master side are telnet servers
254 and xterms.
256 Linux has traditionally used the BSD-like names /dev/ptyxx for
257 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
258 has a number of problems. The GNU C library glibc 2.1 and later,
259 however, supports the Unix98 naming standard: in order to acquire a
260 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
261 terminal is then made available to the process and the pseudo
262 terminal slave can be accessed as /dev/pts/<number>. What was
263 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
265 The entries in /dev/pts/ are created on the fly by a virtual
266 file system; therefore, if you say Y here you should say Y to
267 "/dev/pts file system for Unix98 PTYs" as well.
269 If you want to say Y here, you need to have the C library glibc 2.1
270 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
271 Read the instructions in <file:Documentation/Changes> pertaining to
272 pseudo terminals. It's safe to say N.
274 config UNIX98_PTY_COUNT
275 int "Maximum number of Unix98 PTYs in use (0-2048)"
276 depends on UNIX98_PTYS
277 default "256"
278 help
279 The maximum number of Unix98 PTYs that can be used at any one time.
280 The default is 256, and should be enough for desktop systems. Server
281 machines which support incoming telnet/rlogin/ssh connections and/or
282 serve several X terminals may want to increase this: every incoming
283 connection and every xterm uses up one PTY.
285 When not in use, each additional set of 256 PTYs occupy
286 approximately 8 KB of kernel memory on 32-bit architectures.
288 endmenu
290 source "fs/Kconfig"
292 source "arch/sparc/Kconfig.debug"
294 source "security/Kconfig"
296 source "crypto/Kconfig"
298 source "lib/Kconfig"