view Documentation/cpu-freq/amd-powernow.txt @ 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
2 PowerNow! and Cool'n'Quiet are AMD names for frequency
3 management capabilities in AMD processors. As the hardware
4 implementation changes in new generations of the processors,
5 there is a different cpu-freq driver for each generation.
7 Note that the driver's will not load on the "wrong" hardware,
8 so it is safe to try each driver in turn when in doubt as to
9 which is the correct driver.
11 Note that the functionality to change frequency (and voltage)
12 is not available in all processors. The drivers will refuse
13 to load on processors without this capability. The capability
14 is detected with the cpuid instruction.
16 The drivers use BIOS supplied tables to obtain frequency and
17 voltage information appropriate for a particular platform.
18 Frequency transitions will be unavailable if the BIOS does
19 not supply these tables.
21 6th Generation: powernow-k6
23 7th Generation: powernow-k7: Athlon, Duron, Geode.
25 8th Generation: powernow-k8: Athlon, Athlon 64, Opteron, Sempron.
26 Documentation on this functionality in 8th generation processors
27 is available in the "BIOS and Kernel Developer's Guide", publication
28 26094, in chapter 9, available for download from www.amd.com.
30 BIOS supplied data, for powernow-k7 and for powernow-k8, may be
31 from either the PSB table or from ACPI objects. The ACPI support
32 is only available if the kernel config sets CONFIG_ACPI_PROCESSOR.
33 The powernow-k8 driver will attempt to use ACPI if so configured,
34 and fall back to PST if that fails.
35 The powernow-k7 driver will try to use the PSB support first, and
36 fall back to ACPI if the PSB support fails. A module parameter,
37 acpi_force, is provided to force ACPI support to be used instead
38 of PSB support.