ia64/linux-2.6.18-xen.hg

view Documentation/usb/mtouchusb.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
children
line source
1 CHANGES
3 - 0.3 - Created based off of scanner & INSTALL from the original touchscreen
4 driver on freshmeat (http://freshmeat.net/projects/3mtouchscreendriver)
5 - Amended for linux-2.4.18, then 2.4.19
7 - 0.5 - Complete rewrite using Linux Input in 2.6.3
8 Unfortunately no calibration support at this time
10 - 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
11 Changed reset from standard USB dev reset to vendor reset
12 Changed data sent to host from compensated to raw coordinates
13 Eliminated vendor/product module params
14 Performed multiple successfull tests with an EXII-5010UC
16 SUPPORTED HARDWARE:
18 All controllers have the Vendor: 0x0596 & Product: 0x0001
21 Controller Description Part Number
22 ------------------------------------------------------
24 USB Capacitive - Pearl Case 14-205 (Discontinued)
25 USB Capacitive - Black Case 14-124 (Discontinued)
26 USB Capacitive - No Case 14-206 (Discontinued)
28 USB Capacitive - Pearl Case EXII-5010UC
29 USB Capacitive - Black Case EXII-5030UC
30 USB Capacitive - No Case EXII-5050UC
32 DRIVER NOTES:
34 Installation is simple, you only need to add Linux Input, Linux USB, and the
35 driver to the kernel. The driver can also be optionally built as a module.
37 This driver appears to be one of possible 2 Linux USB Input Touchscreen
38 drivers. Although 3M produces a binary only driver available for
39 download, I persist in updating this driver since I would like to use the
40 touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
41 logical choice is to use Linux Imput.
43 Currently there is no way to calibrate the device via this driver. Even if
44 the device could be calibrated, the driver pulls to raw coordinate data from
45 the controller. This means calibration must be performed within the
46 userspace.
48 The controller screen resolution is now 0 to 16384 for both X and Y reporting
49 the raw touch data. This is the same for the old and new capacitive USB
50 controllers.
52 Perhaps at some point an abstract function will be placed into evdev so
53 generic functions like calibrations, resets, and vendor information can be
54 requested from the userspace (And the drivers would handle the vendor specific
55 tasks).
57 ADDITIONAL INFORMATION/UPDATES/X CONFIGURATION EXAMPLE:
59 http://groomlakelabs.com/grandamp/code/microtouch/
61 TODO:
63 Implement a control urb again to handle requests to and from the device
64 such as calibration, etc once/if it becomes available.
66 DISCLAMER:
68 I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
69 this driver! If you want touch drivers only supported within X, please go to:
71 http://www.3m.com/3MTouchSystems/downloads/
73 THANKS:
75 A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
76 testing!