diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2007-10-10 16:26:24 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2007-10-10 16:26:24 +0000 |
commit | caced4bf24a3cffe0b7545ead0091abf2fe0f709 (patch) | |
tree | b469deb9926f377c2c6a9bdba1ed5b26996af937 /share/man/man9/ctxsw.9 | |
parent | 36cb4fc0487dfc4950cea57314bdf46d633a3837 (diff) |
rename man page to a real function name
Diffstat (limited to 'share/man/man9/ctxsw.9')
-rw-r--r-- | share/man/man9/ctxsw.9 | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/share/man/man9/ctxsw.9 b/share/man/man9/ctxsw.9 deleted file mode 100644 index acbaad0a17e..00000000000 --- a/share/man/man9/ctxsw.9 +++ /dev/null @@ -1,120 +0,0 @@ -.\" $OpenBSD: ctxsw.9,v 1.13 2007/10/10 16:21:29 art Exp $ -.\" $NetBSD: ctxsw.9,v 1.9 1999/03/06 22:09:29 mycroft Exp $ -.\" -.\" Copyright (c) 1996 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to The NetBSD Foundation -.\" by Paul Kranenburg. -.\" -.\" 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. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the NetBSD -.\" Foundation, Inc. and its contributors. -.\" 4. Neither the name of The NetBSD Foundation nor the names of its -.\" contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" -.\" 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 $Mdocdate: October 10 2007 $ -.Dt CTXSW 9 -.Os -.Sh NAME -.Nm mi_switch , -.Nm cpu_switchto -.Nd switch to another process context -.Sh SYNOPSIS -.Fd #include <sys/param.h> -.Fd #include <sys/proc.h> -.Ft void -.Fn mi_switch "void" -.Ft void -.Fn cpu_switchto "struct proc *old" "struct proc *new" -.Sh DESCRIPTION -The -.Fn mi_switch -function implements the machine-independent prelude to a process context -switch. -It is called from only a few distinguished places in the kernel code as a -result of the principle of non-preemptable kernel mode execution. -The three major uses of -.Fn mi_switch -can be enumerated as follows: -.Bl -enum -offset indent -.It -From within -.Xr tsleep 9 -when the current process -voluntarily relinquishes the CPU to wait for some resource to become -available. -.It -After handling a trap -.Pq e.g., a system call or device interrupt -when the kernel prepares a return to user-mode execution. -This case is typically handled by machine-dependent trap-handling code after -detection of a change in the signal disposition of the current process, or -when a higher priority process might be available to run. -The latter event is communicated by the machine-independent scheduling -routines by calling the machine-dependent -.Fn need_resched "void" . -.It -In the signal handling code -.Pq see Xr issignal 9 -if a signal is delivered that causes a process to stop. -.El -.Pp -.Fn mi_switch -records the amount of time the current process has been running in the -process structure and checks this value against the CPU time limits -allocated to the process -.Pq see Xr getrlimit 2 . -Exceeding the soft limit results in a -.Dv SIGXCPU -signal to be posted to the process, while exceeding the hard limit will -cause a -.Dv SIGKILL . -For a process which accumulated longer than 10 minutes of -CPU time, its nice level is raised to 4. -After these administrative tasks are done, -.Fn mi_switch -chooses the next process to run and hands over control to the machine -dependent routine -.Fn cpu_switchto , -which will perform the actual process context switch. -.Pp -.Fn cpu_switchto -will save the context of the old process and switch to the new one. -A special case is when the old process is -.Dv NULL -which means that the old process has exited and doesn't need to be -saved. -.Pp -Note that -.Fn mi_switch -and thus -.Fn cpu_switchto -should be called at -.Xr splhigh 9 . -.Sh SEE ALSO -.Xr spl 9 , -.Xr tsleep 9 , -.Xr wakeup 9 |