view Documentation/networking/cops.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
1 Text File for the COPS LocalTalk Linux driver (cops.c).
2 By Jay Schulist <jschlst@samba.org>
4 This driver has two modes and they are: Dayna mode and Tangent mode.
5 Each mode corresponds with the type of card. It has been found
6 that there are 2 main types of cards and all other cards are
7 the same and just have different names or only have minor differences
8 such as more IO ports. As this driver is tested it will
9 become more clear exactly what cards are supported.
11 Right now these cards are known to work with the COPS driver. The
12 LT-200 cards work in a somewhat more limited capacity than the
13 DL200 cards, which work very well and are in use by many people.
15 TANGENT driver mode:
16 Tangent ATB-II, Novell NL-1000, Daystar Digital LT-200
17 DAYNA driver mode:
18 Dayna DL2000/DaynaTalk PC (Half Length), COPS LT-95,
19 Farallon PhoneNET PC III, Farallon PhoneNET PC II
20 Other cards possibly supported mode unknown though:
21 Dayna DL2000 (Full length)
23 The COPS driver defaults to using Dayna mode. To change the driver's
24 mode if you built a driver with dual support use board_type=1 or
25 board_type=2 for Dayna or Tangent with insmod.
27 ** Operation/loading of the driver.
28 Use modprobe like this: /sbin/modprobe cops.o (IO #) (IRQ #)
29 If you do not specify any options the driver will try and use the IO = 0x240,
30 IRQ = 5. As of right now I would only use IRQ 5 for the card, if autoprobing.
32 To load multiple COPS driver Localtalk cards you can do one of the following.
34 insmod cops io=0x240 irq=5
35 insmod -o cops2 cops io=0x260 irq=3
37 Or in lilo.conf put something like this:
38 append="ether=5,0x240,lt0 ether=3,0x260,lt1"
40 Then bring up the interface with ifconfig. It will look something like this:
41 lt0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-F7-00-00-00-00-00-00-00-00
42 inet addr: Bcast: Mask:
44 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
45 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 coll:0
47 ** Netatalk Configuration
48 You will need to configure atalkd with something like the following to make
49 it work with the cops.c driver.
51 * For single LTalk card use.
52 dummy -seed -phase 2 -net 2000 -addr 2000.10 -zone "1033"
53 lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
55 * For multiple cards, Ethernet and LocalTalk.
56 eth0 -seed -phase 2 -net 3000 -addr 3000.20 -zone "1033"
57 lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
59 * For multiple LocalTalk cards, and an Ethernet card.
60 * Order seems to matter here, Ethernet last.
61 lt0 -seed -phase 1 -net 1000 -addr 1000.10 -zone "LocalTalk1"
62 lt1 -seed -phase 1 -net 2000 -addr 2000.20 -zone "LocalTalk2"
63 eth0 -seed -phase 2 -net 3000 -addr 3000.30 -zone "EtherTalk"