Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Move rump kernel man pages from various sources to sys/rump



details:   https://anonhg.NetBSD.org/src/rev/c7e37e613ae7
branches:  trunk
changeset: 803716:c7e37e613ae7
user:      pooka <pooka%NetBSD.org@localhost>
date:      Sun Nov 09 17:39:37 2014 +0000

description:
Move rump kernel man pages from various sources to sys/rump

namely:
  * src/lib is used only when building for POSIX'y platforms, but
    the man pages have their use for all platforms
  * rumpuser.3 is a function of the rump kernel, not one of the of
    the POSIX'y implementation hosted in src/lib/librumpuser

no functional change

diffstat:

 lib/librump/Makefile                        |    3 +-
 lib/librump/rump.3                          |  190 ------
 lib/librump/rump_lwproc.3                   |  145 -----
 lib/librump/rump_sp.7                       |  117 ----
 lib/librumpuser/Makefile                    |    4 +-
 lib/librumpuser/rumpuser.3                  |  782 ----------------------------
 lib/librumpvfs/Makefile                     |    3 +-
 lib/librumpvfs/rump_etfs.3                  |  213 -------
 lib/librumpvfs/rumpfs.4                     |   67 --
 share/man/Makefile                          |    3 +-
 sys/rump/Makefile                           |    7 +-
 sys/rump/librump/rumpkern/Makefile.rumpkern |    4 +-
 sys/rump/librump/rumpkern/rump.3            |  190 ++++++
 sys/rump/librump/rumpkern/rump_lwproc.3     |  145 +++++
 sys/rump/librump/rumpvfs/Makefile.rumpvfs   |    4 +-
 sys/rump/librump/rumpvfs/rump_etfs.3        |  213 +++++++
 sys/rump/librump/rumpvfs/rumpfs.4           |   67 ++
 sys/rump/share/Makefile                     |    3 +
 sys/rump/share/man/Makefile                 |    3 +
 sys/rump/share/man/man3/Makefile            |    5 +
 sys/rump/share/man/man3/rumpuser.3          |  782 ++++++++++++++++++++++++++++
 sys/rump/share/man/man7/Makefile            |    5 +
 sys/rump/share/man/man7/rump_sp.7           |  117 ++++
 23 files changed, 1546 insertions(+), 1526 deletions(-)

diffs (truncated from 3223 to 300 lines):

diff -r 9e233cf60d5c -r c7e37e613ae7 lib/librump/Makefile
--- a/lib/librump/Makefile      Sun Nov 09 14:40:54 2014 +0000
+++ b/lib/librump/Makefile      Sun Nov 09 17:39:37 2014 +0000
@@ -1,10 +1,9 @@
-#      $NetBSD: Makefile,v 1.4 2010/12/16 15:29:28 pooka Exp $
+#      $NetBSD: Makefile,v 1.5 2014/11/09 17:39:37 pooka Exp $
 #
 
 RUMPTOP=       ${.CURDIR}/../../sys/rump
 
 LIBDPLIBS+=     rumpuser ${.CURDIR}/../librumpuser
-MAN=           rump.3 rump_lwproc.3 rump_sp.7
 
 WARNS=         3       # XXX: kernel isn't ready for -Wsign-compare
 
diff -r 9e233cf60d5c -r c7e37e613ae7 lib/librump/rump.3
--- a/lib/librump/rump.3        Sun Nov 09 14:40:54 2014 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-.\"     $NetBSD: rump.3,v 1.15 2013/08/14 08:29:26 pooka Exp $
-.\"
-.\" Copyright (c) 2008-2011 Antti Kantee.  All rights reserved.
-.\"
-.\" 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 AUTHOR 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 AUTHOR 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 14, 2013
-.Dt RUMP 3
-.Os
-.Sh NAME
-.Nm rump
-.Nd Rump Kernel
-.Sh LIBRARY
-rump Library (librump, \-lrump)
-.Sh SYNOPSIS
-.In rump/rump.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
-.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 .
-.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@localhost
diff -r 9e233cf60d5c -r c7e37e613ae7 lib/librump/rump_lwproc.3
--- a/lib/librump/rump_lwproc.3 Sun Nov 09 14:40:54 2014 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-.\"     $NetBSD: rump_lwproc.3,v 1.7 2014/10/27 12:50:41 pooka Exp $
-.\"
-.\" Copyright (c) 2010 Antti Kantee.  All rights reserved.
-.\"
-.\" 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 AUTHOR 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 AUTHOR 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 October 27, 2014
-.Dt RUMP_LWPROC 3
-.Os
-.Sh NAME
-.Nm rump_lwproc
-.Nd rump kernel process/lwp management
-.Sh LIBRARY
-rump kernel (librump, \-lrump)
-.Sh SYNOPSIS
-.In rump/rump.h
-.Ft int
-.Fn rump_pub_lwproc_rfork "int flags"
-.Ft int
-.Fn rump_pub_lwproc_newlwp "pid_t pid"
-.Ft void
-.Fn rump_pub_lwproc_switch "struct lwp *l"
-.Ft void
-.Fn rump_pub_lwproc_releaselwp
-.Ft struct lwp *
-.Fn rump_pub_lwproc_curlwp
-.Sh DESCRIPTION
-In a normal operating system model a process is a resource
-container and a thread (lwp) is the execution context.
-Every lwp is associated with exactly one process, and a process is
-associated with one or more lwps.
-The current lwp (curlwp) indicates the current process and determines
-which resources, such as UID/GID, current working directory, and
-file descriptor table, are currently used.
-These basic principles apply to rump kernels as well, but since
-a rump kernel uses the host's thread and process context directly, the rules
-for how thread context is determined are different.
-.Pp
-In the rump kernel model, each host thread (implemented for example
-with pthreads or green threads) is either bound to
-a rump kernel lwp or accesses the rump kernel with an implicit thread
-context associated with pid 1.
-An implicit thread context is created every time the rump kernel
-is entered and disbanded upon exit.
-While convenient for occasional calls, creating an implicit thread
-uses a shared resource which can become highly contended in a
-multithreaded situation.
-It is therefore recommended that dedicated threads are created.
-.Pp
-The association between host threads and the rump kernel curlwp is
-left to the caller.
-It is possible to create a dedicated host thread for every
-rump kernel lwp or multiplex them on top of a single host thread.
-After rump kernel lwps have been created, switching curlwp is very cheap.
-In case multiple lwps/processes are created, it is the caller's
-responsibility to keep track of them and release them when they
-are no longer necessary.
-A rump kernel lwp will persist until it is explicitly released.
-A rump kernel process will persist until all of its lwps have been
-released, at which point the process is automatically released.
-.Bl -tag -width xxxx
-.It Fn rump_pub_lwproc_rfork
-Create a process, one lwp inside it and set curlwp to the new lwp.
-The
-.Ar flags
-parameter controls how file descriptors are inherited from the
-parent.
-By default (flags=0) file descriptors are shared.



Home | Main Index | Thread Index | Old Index