diff options
Diffstat (limited to 'usr/src/man/man5')
| -rw-r--r-- | usr/src/man/man5/Makefile | 2 | ||||
| -rw-r--r-- | usr/src/man/man5/epoll.5 | 113 | ||||
| -rw-r--r-- | usr/src/man/man5/privileges.5 | 12 | ||||
| -rw-r--r-- | usr/src/man/man5/resource_controls.5 | 114 |
4 files changed, 232 insertions, 9 deletions
diff --git a/usr/src/man/man5/Makefile b/usr/src/man/man5/Makefile index 00adf416ec..624e0aeb48 100644 --- a/usr/src/man/man5/Makefile +++ b/usr/src/man/man5/Makefile @@ -14,6 +14,7 @@ # Copyright (c) 2012 by Delphix. All rights reserved. # Copyright 2013 Nexenta Systems, Inc. All rights reserved. # Copyright 2014 Garrett D'Amore <garrett@damore.org> +# Copyright (c) 2014, Joyent, Inc. All rights reserved. # include $(SRC)/Makefile.master @@ -42,6 +43,7 @@ MANFILES= Intro.5 \ dhcp.5 \ dhcp_modules.5 \ environ.5 \ + epoll.5 \ eqn.5 \ eqnchar.5 \ extendedFILE.5 \ diff --git a/usr/src/man/man5/epoll.5 b/usr/src/man/man5/epoll.5 new file mode 100644 index 0000000000..94314861d9 --- /dev/null +++ b/usr/src/man/man5/epoll.5 @@ -0,0 +1,113 @@ +'\" te +.\" Copyright (c) 2014, Joyent, Inc. All Rights Reserved. +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.TH EPOLL 5 "Apr 17, 2014" +.SH NAME +epoll \- Linux-compatible I/O event notification facility +.SH SYNOPSIS + +.LP +.nf +#include <sys/epoll.h> +.fi + +.SH DESCRIPTION +.sp +.LP + +\fBepoll\fR is a facility for efficient event-oriented I/O that has a +similar model to \fBpoll\fR(2), but does not necessitate rescanning a +set of file descriptors to wait for an event. \fBepoll\fR is of Linux +origins, and this facility is designed to be binary-compatible with +the Linux facility, including the following interfaces: + +.RS +4 +.TP +.ie t \(bu +.el o +\fBepoll_create\fR(3C) creates an \fBepoll\fR instance, returning a file +descriptor. It contains a size arugment which is meaningful only in as +much as it cannot be 0. +.RE +.RS +4 +.TP +.ie t \(bu +.el o +\fBepoll_create1\fR(3C) also creates an \fBepoll\fR instance, but eliminates +the meaningless size argument -- replacing it instead with a flags +argument. +.RE +.RS +4 +.TP +.ie t \(bu +.el o +\fBepoll_ctl\fR(3C) allows file descriptors to be added +(via \fBEPOLL_CTL_ADD\fR), deleted (via \fBEPOLL_CTL_DEL\fR) or +modified (via \fBEPOLL_CTL_MOD\fR) with respect to the \fBepoll\fR'd set +of file descriptors. +.RE +.RS +4 +.TP +.ie t \(bu +.el o +\fBepoll_wait\fR(3C) fetches pending events for file descriptors added +via \fBepoll_ctl\fR(3C), blocking the caller if no such events are pending. +.RE +.RS +4 +.TP +.ie t \(bu +.el o +\fBepoll_pwait\fR(3C) opeates in a similar manner to \fBepoll_wait\fR(3C), but +allows the caller to specify a signal mask to be set atomically with respect +to waiting for events. +.RE + +.sp +.SH NOTES +.sp +.LP + +The \fBepoll\fR facility is implemented +for purposes of offering compatibility to and portability of Linux-borne +applications; native applications should continue to prefer using event ports +via the \fBport_create\fR(3C), +\fBport_associate\fR(3C) and \fBport_getn\fR(3C) interfaces. +In particular, use of \fBepoll\fR in a multithreaded environment is fraught +with peril; even when using \fBEPOLLONESHOT\fR for one-shot events, +there are race conditions with respect to \fBclose\fR(2) that are unresolvable. +(For more details, see the aborted effort in Linux to resolve this via the +proposed +\fBEPOLL_CTL_DISABLE\fR operation.) +The event port facility -- like the BSD kqueue facility that inspired it -- +is designed to deal with such issues via explicit event source dissociation. + +While a best effort has been made to mimic the Linux semantics, there +are some semantics that are too peculiar or ill-conceived to merit +accommodation. In particular, the Linux \fBepoll\fR facility will -- by +design -- continue to generate events for closed file descriptors where/when +the underlying file description remains open. For example, if one were +to \fBfork\fR(2) and subsequently close an actively \fBepoll\fR'd file +descriptor in the parent, +any events generated in the child on the implicitly duplicated file descriptor +will continue to be delivered to the parent -- despite the fact that the +parent itself no longer has any notion of the file description! +This \fBepoll\fR facility refuses to honor +these semantics; closing the \fBEPOLL_CTL_ADD\fR'd file descriptor +will always result in no further +events being generated for that event description. + +.SH SEE ALSO +.sp +.LP +\fBepoll_create\fR(3C), \fBepoll_create1\fR(3C), \fBepoll_ctl\fR(3C), +\fBepoll_wait\fR(3C), \fBepoll_pwait\fR(3C), +\fBport_create\fR(3C), \fBport_associate\fR(3C), \fBport_dissociate\fR(3C), +\fBport_get\fR(3C), +\fBpselect\fR(3C) diff --git a/usr/src/man/man5/privileges.5 b/usr/src/man/man5/privileges.5 index 6cbf5277fb..7fc9c00f45 100644 --- a/usr/src/man/man5/privileges.5 +++ b/usr/src/man/man5/privileges.5 @@ -4,7 +4,7 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] -.TH PRIVILEGES 5 "May 29, 2009" +.TH PRIVILEGES 5 "March 7, 2012" .SH NAME privileges \- process privilege model .SH DESCRIPTION @@ -284,6 +284,16 @@ Allow a process to perform privileged mappings through a graphics device. .sp .ne 2 .na +\fB\fBPRIV_HYPRLOFS_CONTROL\fR\fR +.ad +.sp .6 +.RS 4n +Allow a process to perform hyprlofs name space management. +.RE + +.sp +.ne 2 +.na \fB\fBPRIV_IPC_DAC_READ\fR\fR .ad .sp .6 diff --git a/usr/src/man/man5/resource_controls.5 b/usr/src/man/man5/resource_controls.5 index 745d777624..35a78aae6e 100644 --- a/usr/src/man/man5/resource_controls.5 +++ b/usr/src/man/man5/resource_controls.5 @@ -1,16 +1,18 @@ '\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved. .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] .TH RESOURCE_CONTROLS 5 "Jul 19, 2013" .SH NAME -resource_controls \- resource controls available through project database +resource_controls \- resource controls available through projects and zones .SH DESCRIPTION .sp .LP -The resource controls facility is configured through the project database. See -\fBproject\fR(4). You can set and modify resource controls through the +For projects the resource controls facility is configured through the project +database. See \fBproject\fR(4). For zones, resource controls are configured +through \fBzonecfg\fR(1M). You can set and modify resource controls through the following utilities: .RS +4 .TP @@ -36,6 +38,12 @@ following utilities: .el o \fBrctladm\fR(1M) .RE +.RS +4 +.TP +.ie t \(bu +.el o +\fBzonecfg\fR(1M) +.RE .sp .LP In a program, you use \fBsetrctl\fR(2) to set resource control values. @@ -283,6 +291,19 @@ Maximum allowable number of event ports, expressed as an integer. .sp .ne 2 .na +\fB\fBproject.max-processes\fR\fR +.ad +.sp .6 +.RS 4n +Maximum number of processes that can be active in a project. This rctl is +similar to \fBproject.max-lwps\fR, except that zombie processes are included. +This rctl prevents process-slot exhaustion which can occur due to an excessive +number of zombies. Expressed as an integer. +.RE + +.sp +.ne 2 +.na \fB\fBproject.max-sem-ids\fR\fR .ad .sp .6 @@ -371,6 +392,33 @@ The following zone-wide resource controls are available: .sp .ne 2 .na +\fB\fBzone.cpu-baseline\fR\fR +.ad +.sp .6 +.RS 4n +Sets a baseline amount of CPU time that a zone can use before it is considered +to be bursting. The unit used is the percentage of a single CPU that is being +used by all user threads in a zone. The value should be less than the +\fBzone.cpu-cap\fR rctl value and is expressed as an integer. +This resource control does not support the \fBsyslog\fR action. +.RE + +.sp +.ne 2 +.na +\fB\fBzone.cpu-burst-time\fR\fR +.ad +.sp .6 +.RS 4n +Sets the number of seconds that a zone can exceed the \fBzone.cpu-baseline\fR +rctl value before being cpu-capped down to the \fBzone.cpu-baseline\fR. +A value of 0 means that \fBzone.cpu-baseline\fR can be exceeded indefinitely. +This resource control does not support the \fBsyslog\fR action. +.RE + +.sp +.ne 2 +.na \fB\fBzone.cpu-cap\fR\fR .ad .sp .6 @@ -389,7 +437,7 @@ not support the \fBsyslog\fR action. .ad .sp .6 .RS 4n -Sets a limit on the number of fair share scheduler (FSS) CPU shares for a zone. +Sets a value on the number of fair share scheduler (FSS) CPU shares for a zone. CPU shares are first allocated to the zone, and then further subdivided among projects within the zone as specified in the \fBproject.cpu-shares\fR entries. Expressed as an integer. This resource control does not support the @@ -409,14 +457,25 @@ Total amount of physical locked memory available to a zone. .sp .ne 2 .na +\fB\fBzone.max-lofi\fR\fR +.ad +.sp .6 +.RS 4n +Sets a limit on the number of \fBLOFI\fR(7D) devices that can be created in a +zone. Expressed as an integer. This resource control does not support the +\fBsyslog\fR action. +.RE + +.sp +.ne 2 +.na \fB\fBzone.max-lwps\fR\fR .ad .sp .6 .RS 4n -Enhances resource isolation by preventing too many LWPs in one zone from -affecting other zones. A zone's total LWPs can be further subdivided among -projects within the zone within the zone by using \fBproject.max-lwps\fR -entries. Expressed as an integer. +Sets a limit on how many LWPs can be active in a zone. A zone's total LWPs +can be further subdivided among projects within the zone within the zone by +using \fBproject.max-lwps\fR entries. Expressed as an integer. .RE .sp @@ -433,6 +492,33 @@ integer. .sp .ne 2 .na +\fB\fBzone.max-physical-memory\fR\fR +.ad +.sp .6 +.RS 4n +Sets a limit on the amount of physical memory (RSS) that can be used by a zone +before resident pages start being forcibly paged out. The unit used is bytes. +Expressed as an integer. This resource control does not support the +\fBsyslog\fR action. +.RE + +.sp +.ne 2 +.na +\fB\fBzone.max-processes\fR\fR +.ad +.sp .6 +.RS 4n +Maximum number of processes that can be active in a zone. This rctl is +similar to \fBzone.max-lwps\fR, except that zombie processes are included. +This rctl prevents process-slot exhaustion which can occur due to an excessive +number of zombies. This rctl can be further subdivided among projects within +the zone using \fBproject.max-processes\fR. Expressed as an integer. +.RE + +.sp +.ne 2 +.na \fB\fBzone.max-sem-ids\fR\fR .ad .sp .6 @@ -474,6 +560,18 @@ mappings and \fBtmpfs\fR mounts for this zone. .RE .sp +.ne 2 +.na +\fB\fBzone.zfs-io-priority\fR\fR +.ad +.sp .6 +.RS 4n +Sets a value for the \fBzfs\fR(1M) I/O priority for a zone. This is used as +one of the inputs to determine if a zone's I/O should be throttled. Expressed +as an integer. This resource control does not support the \fBsyslog\fR action. +.RE + +.sp .LP See \fBzones\fR(5). .SS "Units Used in Resource Controls" |
