ia64/linux-2.6.18-xen.hg

view Documentation/00-INDEX @ 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
2 This is a brief list of all the files in ./linux/Documentation and what
3 they contain. If you add a documentation file, please list it here in
4 alphabetical order as well, or risk being hunted down like a rabid dog.
5 Please try and keep the descriptions small enough to fit on one line.
6 Thanks -- Paul G.
8 Following translations are available on the WWW:
10 - Japanese, maintained by the JF Project (JF@linux.or.jp), at
11 http://www.linux.or.jp/JF/
13 00-INDEX
14 - this file.
15 BUG-HUNTING
16 - brute force method of doing binary search of patches to find bug.
17 Changes
18 - list of changes that break older software packages.
19 CodingStyle
20 - how the boss likes the C code in the kernel to look.
21 DMA-API.txt
22 - DMA API, pci_ API & extensions for non-consistent memory machines.
23 DMA-mapping.txt
24 - info for PCI drivers using DMA portably across all platforms.
25 DocBook/
26 - directory with DocBook templates etc. for kernel documentation.
27 HOWTO
28 - The process and procedures of how to do Linux kernel development.
29 IO-mapping.txt
30 - how to access I/O mapped memory from within device drivers.
31 IPMI.txt
32 - info on Linux Intelligent Platform Management Interface (IPMI) Driver.
33 IRQ-affinity.txt
34 - how to select which CPU(s) handle which interrupt events on SMP.
35 ManagementStyle
36 - how to (attempt to) manage kernel hackers.
37 MSI-HOWTO.txt
38 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
39 RCU/
40 - directory with info on RCU (read-copy update).
41 README.DAC960
42 - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux.
43 SAK.txt
44 - info on Secure Attention Keys.
45 SubmittingDrivers
46 - procedure to get a new driver source included into the kernel tree.
47 SubmittingPatches
48 - procedure to get a source patch included into the kernel tree.
49 VGA-softcursor.txt
50 - how to change your VGA cursor from a blinking underscore.
51 applying-patches.txt
52 - description of various trees and how to apply their patches.
53 arm/
54 - directory with info about Linux on the ARM architecture.
55 basic_profiling.txt
56 - basic instructions for those who wants to profile Linux kernel.
57 binfmt_misc.txt
58 - info on the kernel support for extra binary formats.
59 block/
60 - info on the Block I/O (BIO) layer.
61 cachetlb.txt
62 - describes the cache/TLB flushing interfaces Linux uses.
63 cciss.txt
64 - info, major/minor #'s for Compaq's SMART Array Controllers.
65 cdrom/
66 - directory with information on the CD-ROM drivers that Linux has.
67 cli-sti-removal.txt
68 - cli()/sti() removal guide.
69 computone.txt
70 - info on Computone Intelliport II/Plus Multiport Serial Driver.
71 cpqarray.txt
72 - info on using Compaq's SMART2 Intelligent Disk Array Controllers.
73 cpu-freq/
74 - info on CPU frequency and voltage scaling.
75 cris/
76 - directory with info about Linux on CRIS architecture.
77 crypto/
78 - directory with info on the Crypto API.
79 debugging-modules.txt
80 - some notes on debugging modules after Linux 2.6.3.
81 device-mapper/
82 - directory with info on Device Mapper.
83 devices.txt
84 - plain ASCII listing of all the nodes in /dev/ with major minor #'s.
85 digiepca.txt
86 - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards.
87 dnotify.txt
88 - info about directory notification in Linux.
89 driver-model/
90 - directory with info about Linux driver model.
91 dvb/
92 - info on Linux Digital Video Broadcast (DVB) subsystem.
93 early-userspace/
94 - info about initramfs, klibc, and userspace early during boot.
95 eisa.txt
96 - info on EISA bus support.
97 exception.txt
98 - how Linux v2.2 handles exceptions without verify_area etc.
99 fb/
100 - directory with info on the frame buffer graphics abstraction layer.
101 filesystems/
102 - directory with info on the various filesystems that Linux supports.
103 firmware_class/
104 - request_firmware() hotplug interface info.
105 floppy.txt
106 - notes and driver options for the floppy disk driver.
107 ftape.txt
108 - notes about the floppy tape device driver.
109 hayes-esp.txt
110 - info on using the Hayes ESP serial driver.
111 highuid.txt
112 - notes on the change from 16 bit to 32 bit user/group IDs.
113 hpet.txt
114 - High Precision Event Timer Driver for Linux.
115 hw_random.txt
116 - info on Linux support for random number generator in i8xx chipsets.
117 i2c/
118 - directory with info about the I2C bus/protocol (2 wire, kHz speed).
119 i2o/
120 - directory with info about the Linux I2O subsystem.
121 i386/
122 - directory with info about Linux on Intel 32 bit architecture.
123 ia64/
124 - directory with info about Linux on Intel 64 bit architecture.
125 ide.txt
126 - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS).
127 initrd.txt
128 - how to use the RAM disk as an initial/temporary root filesystem.
129 input/
130 - info on Linux input device support.
131 io_ordering.txt
132 - info on ordering I/O writes to memory-mapped addresses.
133 ioctl-number.txt
134 - how to implement and register device/driver ioctl calls.
135 iostats.txt
136 - info on I/O statistics Linux kernel provides.
137 isapnp.txt
138 - info on Linux ISA Plug & Play support.
139 isdn/
140 - directory with info on the Linux ISDN support, and supported cards.
141 java.txt
142 - info on the in-kernel binary support for Java(tm).
143 kbuild/
144 - directory with info about the kernel build process.
145 kdumpt.txt
146 - mini HowTo on getting the crash dump code to work.
147 kernel-doc-nano-HOWTO.txt
148 - mini HowTo on generation and location of kernel documentation files.
149 kernel-docs.txt
150 - listing of various WWW + books that document kernel internals.
151 kernel-parameters.txt
152 - summary listing of command line / boot prompt args for the kernel.
153 kobject.txt
154 - info of the kobject infrastructure of the Linux kernel.
155 laptop-mode.txt
156 - How to conserve battery power using laptop-mode.
157 ldm.txt
158 - a brief description of LDM (Windows Dynamic Disks).
159 locks.txt
160 - info on file locking implementations, flock() vs. fcntl(), etc.
161 logo.gif
162 - Full colour GIF image of Linux logo (penguin).
163 logo.txt
164 - Info on creator of above logo & site to get additional images from.
165 m68k/
166 - directory with info about Linux on Motorola 68k architecture.
167 magic-number.txt
168 - list of magic numbers used to mark/protect kernel data structures.
169 mandatory.txt
170 - info on the Linux implementation of Sys V mandatory file locking.
171 mca.txt
172 - info on supporting Micro Channel Architecture (e.g. PS/2) systems.
173 md.txt
174 - info on boot arguments for the multiple devices driver.
175 memory.txt
176 - info on typical Linux memory problems.
177 mips/
178 - directory with info about Linux on MIPS architecture.
179 mono.txt
180 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
181 moxa-smartio
182 - info on installing/using Moxa multiport serial driver.
183 mtrr.txt
184 - how to use PPro Memory Type Range Registers to increase performance.
185 nbd.txt
186 - info on a TCP implementation of a network block device.
187 networking/
188 - directory with info on various aspects of networking with Linux.
189 nfsroot.txt
190 - short guide on setting up a diskless box with NFS root filesystem.
191 nmi_watchdog.txt
192 - info on NMI watchdog for SMP systems.
193 numastat.txt
194 - info on how to read Numa policy hit/miss statistics in sysfs.
195 oops-tracing.txt
196 - how to decode those nasty internal kernel error dump messages.
197 paride.txt
198 - information about the parallel port IDE subsystem.
199 parisc/
200 - directory with info on using Linux on PA-RISC architecture.
201 parport.txt
202 - how to use the parallel-port driver.
203 parport-lowlevel.txt
204 - description and usage of the low level parallel port functions.
205 pci.txt
206 - info on the PCI subsystem for device driver authors.
207 pm.txt
208 - info on Linux power management support.
209 pnp.txt
210 - Linux Plug and Play documentation.
211 power/
212 - directory with info on Linux PCI power management.
213 powerpc/
214 - directory with info on using Linux with the PowerPC.
215 preempt-locking.txt
216 - info on locking under a preemptive kernel.
217 ramdisk.txt
218 - short guide on how to set up and use the RAM disk.
219 riscom8.txt
220 - notes on using the RISCom/8 multi-port serial driver.
221 rocket.txt
222 - info on the Comtrol RocketPort multiport serial driver.
223 rpc-cache.txt
224 - introduction to the caching mechanisms in the sunrpc layer.
225 rtc.txt
226 - notes on how to use the Real Time Clock (aka CMOS clock) driver.
227 s390/
228 - directory with info on using Linux on the IBM S390.
229 sched-coding.txt
230 - reference for various scheduler-related methods in the O(1) scheduler.
231 sched-design.txt
232 - goals, design and implementation of the Linux O(1) scheduler.
233 sched-domains.txt
234 - information on scheduling domains.
235 sched-stats.txt
236 - information on schedstats (Linux Scheduler Statistics).
237 scsi/
238 - directory with info on Linux scsi support.
239 serial/
240 - directory with info on the low level serial API.
241 serial-console.txt
242 - how to set up Linux with a serial line console as the default.
243 sgi-visws.txt
244 - short blurb on the SGI Visual Workstations.
245 sh/
246 - directory with info on porting Linux to a new architecture.
247 smart-config.txt
248 - description of the Smart Config makefile feature.
249 smp.txt
250 - a few notes on symmetric multi-processing.
251 sonypi.txt
252 - info on Linux Sony Programmable I/O Device support.
253 sound/
254 - directory with info on sound card support.
255 sparc/
256 - directory with info on using Linux on Sparc architecture.
257 specialix.txt
258 - info on hardware/driver for specialix IO8+ multiport serial card.
259 spinlocks.txt
260 - info on using spinlocks to provide exclusive access in kernel.
261 stable_api_nonsense.txt
262 - info on why the kernel does not have a stable in-kernel api or abi.
263 stable_kernel_rules.txt
264 - rules and procedures for the -stable kernel releases.
265 stallion.txt
266 - info on using the Stallion multiport serial driver.
267 svga.txt
268 - short guide on selecting video modes at boot via VGA BIOS.
269 sx.txt
270 - info on the Specialix SX/SI multiport serial driver.
271 sysctl/
272 - directory with info on the /proc/sys/* files.
273 sysrq.txt
274 - info on the magic SysRq key.
275 telephony/
276 - directory with info on telephony (e.g. voice over IP) support.
277 time_interpolators.txt
278 - info on time interpolators.
279 tipar.txt
280 - information about Parallel link cable for Texas Instruments handhelds.
281 tty.txt
282 - guide to the locking policies of the tty layer.
283 unicode.txt
284 - info on the Unicode character/font mapping used in Linux.
285 uml/
286 - directory with information about User Mode Linux.
287 usb/
288 - directory with info regarding the Universal Serial Bus.
289 video4linux/
290 - directory with info regarding video/TV/radio cards and linux.
291 vm/
292 - directory with info on the Linux vm code.
293 voyager.txt
294 - guide to running Linux on the Voyager architecture.
295 watchdog/
296 - how to auto-reboot Linux if it has "fallen and can't get up". ;-)
297 x86_64/
298 - directory with info on Linux support for AMD x86-64 (Hammer) machines.
299 xterm-linux.xpm
300 - XPM image of penguin logo (see logo.txt) sitting on an xterm.
301 zorro.txt
302 - info on writing drivers for Zorro bus devices found on Amigas.