view Documentation/arm/IXP2000 @ 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 -------------------------------------------------------------------------
3 Release Notes for Linux on Intel's IXP2000 Network Processor
5 Maintained by Deepak Saxena <dsaxena@plexity.net>
6 -------------------------------------------------------------------------
8 1. Overview
10 Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850) is designed
11 for high-performance network applications such high-availability
12 telecom systems. In addition to an XScale core, it contains up to 8
13 "MicroEngines" that run special code, several high-end networking
14 interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
15 flash interface, and some other odds and ends. For more information, see:
17 http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm
19 2. Linux Support
21 Linux currently supports the following features on the IXP2000 NPUs:
23 - On-chip serial
24 - PCI
25 - Flash (MTD/JFFS2)
26 - I2C through GPIO
27 - Timers (watchdog, OS)
29 That is about all we can support under Linux ATM b/c the core networking
30 components of the chip are accessed via Intel's closed source SDK.
31 Please contact Intel directly on issues with using those. There is
32 also a mailing list run by some folks at Princeton University that might
33 be of help: https://lists.cs.princeton.edu/mailman/listinfo/ixp2xxx
38 3. Supported Platforms
40 - Intel IXDP2400 Reference Platform
41 - Intel IXDP2800 Reference Platform
42 - Intel IXDP2401 Reference Platform
43 - Intel IXDP2801 Reference Platform
44 - RadiSys ENP-2611
46 4. Usage Notes
48 - The IXP2000 platforms usually have rather complex PCI bus topologies
49 with large memory space requirements. In addition, b/c of the way the
50 Intel SDK is designed, devices are enumerated in a very specific
51 way. B/c of this this, we use "pci=firmware" option in the kernel
52 command line so that we do not re-enumerate the bus.
54 - IXDP2x01 systems have variable clock tick rates that we cannot determine
55 via HW registers. The "ixdp2x01_clk=XXX" cmd line options allow you
56 to pass the clock rate to the board port.
58 5. Thanks
60 The IXP2000 work has been funded by Intel Corp. and MontaVista Software, Inc.
62 The following people have contributed patches/comments/etc:
64 Naeem F. Afzal
65 Lennert Buytenhek
66 Jeffrey Daly
68 -------------------------------------------------------------------------
69 Last Update: 8/09/2004