diff options
| author | pooka <pooka@NetBSD.org> | 2014-12-02 01:52:13 +0000 |
|---|---|---|
| committer | pooka <pooka@NetBSD.org> | 2014-12-02 01:52:13 +0000 |
| commit | 8a049e67668555d4203be66daa63fa6c8ef185bc (patch) | |
| tree | d7e23340c33b754b9d731f0c077fba92256ab0ea /sys | |
| parent | c69704878fdeeefe12c44eeb675633fc2394f2d8 (diff) | |
most of this manpage moved to rumpkernel.7, so simplify a lot
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/rump/librump/rumpkern/rump.3 | 177 |
1 files changed, 21 insertions, 156 deletions
diff --git a/sys/rump/librump/rumpkern/rump.3 b/sys/rump/librump/rumpkern/rump.3 index 201c837ed60..d217713d751 100644 --- a/sys/rump/librump/rumpkern/rump.3 +++ b/sys/rump/librump/rumpkern/rump.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: rump.3,v 1.11 2014/11/09 17:39:38 pooka Exp $ +.\" $NetBSD: rump.3,v 1.12 2014/12/02 01:52:13 pooka Exp $ .\" .\" Copyright (c) 2008-2011 Antti Kantee. All rights reserved. .\" @@ -23,168 +23,33 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 14, 2013 +.Dd December 1, 2014 .Dt RUMP 3 .Os .Sh NAME -.Nm rump -.Nd Rump Kernel +.Nm librump +.Nd Rump kernel base .Sh LIBRARY -rump Library (librump, \-lrump) +rump kernel base (librump, \-lrump) .Sh SYNOPSIS .In rump/rump.h +.In rump/rump_syscalls.h .Sh DESCRIPTION -A rump kernel is a virtualized kernel instance which retains only part -of the -.Nx -kernel. -Rump kernels are aimed at virtualizing kernel drivers and do not support -for example creating processes, managing virtual memory address spaces -or scheduling threads. -These features are unnecessary overhead when virtualizing drivers. -Rump kernels are created by linking a desired set of components together. -On -.Nx , -these components are available as userspace libraries with -the prefix -.Pa librump . -The high-level -.Xr rumpuser 3 -hypercall interface is used by a rump kernel to request resources and -services from the host it runs on. -Like any virtualized kernel, a rump kernel also provides its own set -of namespaces, such as a file system hierarchy and TCP ports, -that are independent of the ones on the host and of any other rump -kernel instances. -It should be noted that the presence of the provided namespaces -depends on the components that the rump kernel was constructed with. -.Pp -Since a rump kernel does not provide support for applications processes, -existing entities are used as rump kernel clients. -The relationship between the client and the rump kernel defines the -execution model of the rump kernel. -A local client will reside in the same address space and manipulate the -rump kernel with function calls and direct memory references. -Remote and microkernel clients are disjoint from the rump kernel -and make requests though various protocols, see for example -.Xr p2k 3 , -.Xr rump_sp 7 , -and -.Xr rumphijack 3 . -Remote clients will also work over a TCP/IP network, or other similar -communication medium. -.Pp -A rump kernel is bootstrapped by calling -.Fn rump_init . -On a POSIX Host, environment variables can be used to adjust some -operating parameters: -.Bl -tag -width RUMP_MEMLIMITXX -.It Dv RUMP_NCPU -If set, the number indicates the number of virtual CPUs configured into a -rump kernel. -The special value "host" can be used to specify the number of -of host CPUs available. -If the value is unset, two CPUs will be configured. -.It Dv RUMP_VERBOSE -If set to non-zero, activates bootverbose. -.It Dv RUMP_THREADS -If set to 0, prevents the rump kernel from creating any kernel threads. -This is possible usually only for file systems, as other subsystems -depend on threads to work. -.It Dv RUMP_MEMLIMIT -If set, indicates the maximum amount of memory that a rump kernel will -request from the hypervisor via -.Fn rumpuser_malloc . -When the rump kernel is close to the allocation limit, it will attempt -to make more memory available by flushing its caches. -The default is as much as the host allows. -.It Dv RUMP_NVNODES -Sets the value of the kern.maxvnodes sysctl node to the indicated amount. -Adjusting this may be useful for example when testing vnode reclaim -code paths. -While the same value can be set by means of sysctl, the env variable -is often more convenient for quick testing. -As expected, this option has effect only in rump kernels which support VFS. -The current default is 1024 vnodes. -.El +The base of a +.Xr rumpkernel 7 +is provided by the +.Nm +library. +In addition to fundamental routines such as kernel memory allocators +and locking, +.Nm +provides system call wrappers. .Pp -The standardized way for a client to make requests into a rump kernel -is to use rump kernel system calls, which have equivalent syntax and -semantics with regular -.Nx -system calls. -The parameters are expected to be in the -.Nx -type system unless a system -call translation component, for example librumpkern_sys_linux, -is linked into the rump kernel, in which case system call parameters -will be automatically translated from the client type system into -the -.Nx -type system and back. -The rump kernel system calls are made available to a client by -including -.In rump/rump_syscalls.h . -It is also possible to configure unmodified binaries to make syscalls -into a rump kernel with -.Xr rumphijack 3 . +Like the +.Xr rumpuser 3 +library, +.Nm +is a mandatory component and is present in every rump kernel. .Sh SEE ALSO -.Xr rump_server 1 , -.Xr p2k 3 , -.Xr rump_etfs 3 , -.Xr rump_lwproc 3 , -.Xr rumpclient 3 , -.Xr rumphijack 3 , .Xr rumpuser 3 , -.Xr ukfs 3 , -.Xr rump_sp 7 -.Rs -.%A Antti Kantee -.%D 2012 -.%J Aalto University Doctoral Dissertations -.%T Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernerls -.Re -.Rs -.%A Antti Kantee -.%D June 2009 -.%B Proceedings of the 2009 USENIX Annual Technical Conference -.%P pp. 201-214 -.%T Rump File Systems: Kernel Code Reborn -.Re -.Rs -.%A Arnaud Ysmal -.%A Antti Kantee -.%D September 2009 -.%B EuroBSDCon 2009 -.%T Fs-utils: File Systems Access Tools for Userland -.Re -.Rs -.%A Antti Kantee -.%D March 2009 -.%B Proceedings of AsiaBSDCon 2009 -.%P pp. 71-80 -.%T Environmental Independence: BSD Kernel TCP/IP in Userspace -.Re -.Rs -.%A Antti Kantee -.%D March 2010 -.%B Proceedings of AsiaBSDCon 2010 -.%P pp. 75-84 -.%T Rump Device Drivers: Shine On You Kernel Diamond -.Re -.Rs -.%A Antti Kantee -.%D May 2009 -.%B BSDCan 2009 -.%T Kernel Development in Userspace - The Rump Approach -.Re -.Pp -Web page with more information, including links to the publications: -.Lk http://www.NetBSD.org/docs/rump/ -.Sh HISTORY -Rump kernels appeared as an experimental concept in -.Nx 5.0 . -The first stable version was released in -.Nx 6.0 . -.Sh AUTHORS -.An Antti Kantee Aq Mt pooka@iki.fi +.Xr rumpkernel 7 |
