Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/man/man4 man page for balloon driver from Cherry
details: https://anonhg.NetBSD.org/src/rev/46ef7adfb44e
branches: trunk
changeset: 756203:46ef7adfb44e
user: christos <christos%NetBSD.org@localhost>
date: Thu Jul 08 20:00:24 2010 +0000
description:
man page for balloon driver from Cherry
diffstat:
share/man/man4/Makefile | 4 +-
share/man/man4/man4.x86/Makefile | 6 +
share/man/man4/man4.x86/balloon.4 | 121 ++++++++++++++++++++++++++++++++++++++
3 files changed, 129 insertions(+), 2 deletions(-)
diffs (153 lines):
diff -r 265755107c43 -r 46ef7adfb44e share/man/man4/Makefile
--- a/share/man/man4/Makefile Thu Jul 08 19:20:16 2010 +0000
+++ b/share/man/man4/Makefile Thu Jul 08 20:00:24 2010 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.521 2010/07/04 15:21:58 tsutsui Exp $
+# $NetBSD: Makefile,v 1.522 2010/07/08 20:00:24 christos Exp $
# @(#)Makefile 8.1 (Berkeley) 6/18/93
MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -213,7 +213,7 @@
man4.hp300 man4.hp700 man4.hpcarm man4.hpcmips man4.hpcsh man4.i386 \
man4.mac68k man4.macppc man4.mvme68k man4.pmax man4.prep \
man4.sgimips man4.sparc man4.sparc64 man4.sun2 man4.sun3 man4.vax \
- man4.x68k
+ man4.x68k man4.x86
.include <bsd.man.mk>
.include <bsd.subdir.mk>
diff -r 265755107c43 -r 46ef7adfb44e share/man/man4/man4.x86/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/man4.x86/Makefile Thu Jul 08 20:00:24 2010 +0000
@@ -0,0 +1,6 @@
+# $NetBSD: Makefile,v 1.1 2010/07/08 20:00:24 christos Exp $
+
+MAN= balloon.4
+MANSUBDIR=/x86
+
+.include <bsd.man.mk>
diff -r 265755107c43 -r 46ef7adfb44e share/man/man4/man4.x86/balloon.4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/man4.x86/balloon.4 Thu Jul 08 20:00:24 2010 +0000
@@ -0,0 +1,121 @@
+.\" $NetBSD: balloon.4,v 1.1 2010/07/08 20:00:24 christos Exp $
+.\"
+.\" Copyright (c) 2010 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Cherry G. Mathew <cherry%zyx.in@localhost> and
+.\" Jean-Yves Migeon <jym%NetBSD.org@localhost>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd July 06, 2010
+.Dt BALLOON 4 xen
+.Os
+.Sh NAME
+.Nm balloon
+.Nd Xen hypervisor dynamic memory resize helper
+.Sh SYNOPSIS
+.Cd "options XEN_BALLOON"
+.Sh DESCRIPTION
+The Xen
+.Nm
+driver can be enabled to allow the Xen hypervisor to dynamically
+resize the amount of RAM a
+.Nx
+VM is allowed to use. This allows the hypervisor to manage RAM more
+efficiently, similar in spirit to how the
+.Nx
+kernel would manage RAM wrt processes, with
+.Xr uvm 9 .
+.Pp
+The
+.Nm
+driver negotiates domain VM memory allocation change requests from
+the Xen hypervisor, by reserving "pinned" memory for itself from the
+NetBSD
+.Xr uvm 9
+subsystem.
+.Pp
+There are two methods to notify the
+.Nm
+driver of memory allocation change requests.
+.Bl -tag -width "Xr sysctl 3" -offset indent
+.It xenbus
+In the xenbus method, the change notification originates outside the
+VM, presumable from the Hypervisor, and is communicated over the
+xenbus interface.
+.It Xr sysctl 3
+In the
+.Xr sysctl 3
+method, the change notification originates from within the VM. Two
+.Xr sysctl 7
+nodes are provided:
+.Bl -ohang -width kern.xen.balloon.current
+.It Va kern.xen.balloon.current
+This node is read-only and returns the number of memory pages
+currently allocated to the VM.
+.It Va kern.xen.balloon.target
+This node can be written to, and sets a new target memory reservation,
+in pages. Note that targets set this way from within the VM do not
+reflect in the hypervisor. This is therefore a less preferred way to
+use the
+.Nm
+.El
+.El
+.Pp
+In either case, once a new allocation target is set, the balloon
+driver thread asynchronously attempts to reach this target in discrete
+steps. Every step, if it fails, is tried more than once. When the
+target is reached, the thread goes back to sleep, waiting for a new
+incoming target. If it is not reached, the target is updated to
+reflect the value after the last successful step.
+.Sh EXAMPLES
+.Bd -literal
+ # # Have a look at the current reservations.
+ # sysctl -a|grep balloon
+ kern.xen.balloon.current = 32512
+ kern.xen.balloon.target = 32512
+ #
+ # # Change the current target to 30000 kernel pages.
+ # sysctl -w kern.xen.balloon.target=30000
+ kern.xen.balloon.target: 32512 -> 30000
+ #
+.Ed
+.Sh SEE ALSO
+.Xr uvm 9
+.Rs
+.%A Carl A. Waldspurger
+.%T Memory Resource Management in VMware ESX Server
+.%U http://www.usenix.org/events/osdi02/tech/waldspurger/waldspurger_html/node6.html
+.Re
+.\"
+.Sh AUTHORS
+.An Cherry G. Mathew Aq cherry%zyx.in@localhost
+.An Jean-Yves Migeon Aq jym%NetBSD.org@localhost
+.Sh CAVEATS
+VMs can be inadvertently crashed/panic()ed by over expanding the
+balloon allocation, creating extreme OS memory pressure.
+.Sh BUGS
+.Fn xenmem_get_maxreservation
+is currently hard-coded to return nkmempages.
+This driver is still regarded as EXPERIMENTAL.
Home |
Main Index |
Thread Index |
Old Index