remarkable-linux/arch/um/drivers
Jeff Dike 02dea0875b [PATCH] UML: Hotplug memory, take 2
Changes since first version
	added check for MADV_REMOVE support on the host
	fixed error return botch
	shrunk sprintf array by one character

This adds hotplug memory support to UML.  The mconsole syntax is
 	config mem=[+-]n[KMG]
In other words, add or subtract some number of kilobytes, megabytes, or
gigabytes.

Unplugged pages are allocated and then madvise(MADV_TRUNCATE), which is a
currently experimental madvise extension.  These pages are tracked so they
can be plugged back in later if the admin decides to give them back.  The
first page to be unplugged is used to keep track of about 4M of other
pages.  A list_head is the first thing on this page.  The rest is filled
with addresses of other unplugged pages.  This first page is not madvised,
obviously.

When this page is filled, the next page is used in a similar way and linked
onto a list with the first page.  Etc.  This whole process reverses when
pages are plugged back in.  When a tracking page no longer tracks any
unplugged pages, then it is next in line for plugging, which is done by
freeing pages back to the kernel.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-31 12:18:50 -08:00
..
chan_kern.c [PATCH] uml: some harmless sparse warning fixes 2006-02-01 08:53:23 -08:00
chan_user.c [PATCH] uml: close TUN/TAP file descriptors 2006-02-07 16:12:32 -08:00
cow.h [PATCH] uml: tidying COW code 2006-02-24 14:31:37 -08:00
cow_sys.h [PATCH] uml: tidying COW code 2006-02-24 14:31:37 -08:00
cow_user.c [PATCH] uml: tidying COW code 2006-02-24 14:31:37 -08:00
daemon.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
daemon_kern.c [PATCH] uml: some harmless sparse warning fixes 2006-02-01 08:53:23 -08:00
daemon_user.c [PATCH] uml: make daemon transport behave properly 2006-01-18 19:20:20 -08:00
fd.c [PATCH] uml: move libc-dependent utility procedures 2006-01-18 19:20:19 -08:00
harddog_kern.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
harddog_user.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
hostaudio_kern.c [PATCH] uml: update module interface 2005-07-27 16:25:48 -07:00
line.c [PATCH] uml: some harmless sparse warning fixes 2006-02-01 08:53:23 -08:00
Makefile [PATCH] uml: revert block driver use of host AIO 2005-10-12 08:22:26 -07:00
mcast.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mcast_kern.c [PATCH] uml: some harmless sparse warning fixes 2006-02-01 08:53:23 -08:00
mcast_user.c [PATCH] uml: fix mcast network driver error handling 2005-11-13 18:14:14 -08:00
mconsole_kern.c [PATCH] UML: Hotplug memory, take 2 2006-03-31 12:18:50 -08:00
mconsole_user.c [PATCH] uml: add mconsole_reply variant with length param 2006-01-06 08:33:47 -08:00
mmapper_kern.c [PATCH] mmaper_kern.c fixes [buffer overruns] 2005-08-27 10:11:40 -07:00
net_kern.c [PATCH] uml: balance list_add and list_del in the network driver 2006-02-07 16:12:32 -08:00
net_user.c [PATCH] uml: better error reporting for read_output 2006-02-24 14:31:37 -08:00
null.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcap_kern.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcap_user.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcap_user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
port.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
port_kern.c [PATCH] useless linux/irq.h includes (arch/um) 2005-09-30 08:42:24 -07:00
port_user.c [PATCH] uml console channels: remove console_write wrappers 2005-11-13 18:14:14 -08:00
pty.c [PATCH] uml console channels: remove console_write wrappers 2005-11-13 18:14:14 -08:00
random.c [PATCH] um: fix-up schedule_timeout() usage 2005-11-07 07:53:56 -08:00
slip.h [PATCH] uml: slirp and slip driver cleanups and fixes 2005-06-13 20:58:43 -07:00
slip_common.c [PATCH] uml: slirp and slip driver cleanups and fixes 2005-06-13 20:58:43 -07:00
slip_common.h [PATCH] uml: fix hugest stack users 2006-02-01 08:53:22 -08:00
slip_kern.c [PATCH] uml: fix hugest stack users 2006-02-01 08:53:22 -08:00
slip_user.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
slirp.h [PATCH] uml: slirp and slip driver cleanups and fixes 2005-06-13 20:58:43 -07:00
slirp_kern.c [PATCH] uml: fix hugest stack users 2006-02-01 08:53:22 -08:00
slirp_user.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
ssl.c [PATCH] uml: some harmless sparse warning fixes 2006-02-01 08:53:23 -08:00
ssl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stderr_console.c [PATCH] uml: compile fixes for gcc 4 2005-06-08 16:21:12 -07:00
stdio_console.c [PATCH] uml: Add throttling to console driver 2006-01-06 08:33:46 -08:00
stdio_console.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tty.c [PATCH] uml console channels: remove console_write wrappers 2005-11-13 18:14:14 -08:00
ubd_kern.c [PATCH] uml: allow ubd devices to be shared in a cluster 2006-03-27 08:44:38 -08:00
ubd_user.c [PATCH] uml: revert block driver use of host AIO 2005-10-12 08:22:26 -07:00
xterm.c [PATCH] uml console channels: remove console_write wrappers 2005-11-13 18:14:14 -08:00
xterm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xterm_kern.c [PATCH] uml: add and use generic hw_controller_type->release 2005-06-21 19:07:32 -07:00