summaryrefslogtreecommitdiffstats
path: root/man2/sched_setparam.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/sched_setparam.2')
-rw-r--r--man2/sched_setparam.2132
1 files changed, 132 insertions, 0 deletions
diff --git a/man2/sched_setparam.2 b/man2/sched_setparam.2
new file mode 100644
index 000000000..2551707f5
--- /dev/null
+++ b/man2/sched_setparam.2
@@ -0,0 +1,132 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
+.\" USA.
+.\"
+.\" 1996-04-01 Tom Bjorkholm <tomb@mydata.se>
+.\" First version written
+.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
+.\" revision
+.\" Modified 2004-05-27 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
+.\"
+.TH SCHED_SETPARAM 2 2004-05-27 "Linux 2.6.6" "Linux Programmer's Manual"
+.SH NAME
+sched_setparam, sched_getparam \- set and get scheduling parameters
+.SH SYNOPSIS
+.B #include <sched.h>
+.sp
+\fBint sched_setparam(pid_t \fIpid\fB, const struct sched_param *\fIp\fB);
+.sp
+\fBint sched_getparam(pid_t \fIpid\fB, struct sched_param *\fIp\fB);
+.sp
+.nf
+.ta 4n
+\fBstruct sched_param {
+ ...
+ int \fIsched_priority\fB;
+ ...
+};
+.ta
+.fi
+.SH DESCRIPTION
+.B sched_setparam
+sets the scheduling parameters associated with the scheduling policy
+for the process identified by \fIpid\fR. If \fIpid\fR is zero, then
+the parameters of the current process are set. The interpretation of
+the parameter \fIp\fR depends on the selected policy. Currently, the
+following three scheduling policies are supported under Linux:
+.IR SCHED_FIFO ,
+.IR SCHED_RR ,
+and
+.IR SCHED_OTHER.
+
+.B sched_getparam
+retrieves the scheduling parameters for the
+process identified by \fIpid\fR. If \fIpid\fR is zero, then the parameters
+of the current process are retrieved.
+
+.B sched_setparam
+checks the validity of \fIp\fR for the scheduling policy of the
+process. The parameter \fIp->sched_priority\fR must lie within the
+range given by \fBsched_get_priority_min\fR and
+\fBsched_get_priority_max\fR.
+
+POSIX systems on which
+.B sched_setparam
+and
+.B sched_getparam
+are available define
+.I _POSIX_PRIORITY_SCHEDULING
+in <unistd.h>.
+
+.SH "RETURN VALUE"
+On success,
+.BR sched_setparam
+and
+.BR sched_getparam
+return 0.
+On error, \-1 is returned,
+.I errno
+is set appropriately.
+.SH ERRORS
+.TP
+.B EINVAL
+The parameter \fIp\fR does not make sense for the current
+scheduling policy.
+.TP
+.B EPERM
+The calling process does not have appropriate privileges.
+A process calling
+.BR sched_setparam
+needs an effective user ID equal to the user ID or effective user ID
+of the process identified by
+.IR pid ,
+or (Linux) it must have the
+CAP_SYS_NICE
+capability.
+.TP
+.B ESRCH
+The process whose ID is \fIpid\fR could not be found.
+.SH "CONFORMING TO"
+POSIX.1b (formerly POSIX.4)
+.SH "SEE ALSO"
+.BR getpriority (2),
+.BR nice (2),
+.BR sched_get_priority_max (2),
+.BR sched_get_priority_min (2),
+.BR sched_getaffinity (2),
+.BR sched_getscheduler (2),
+.BR sched_setaffinity (2),
+.BR sched_setscheduler (2),
+.BR setpriority (2),
+.BR capabilities (7)
+.PP
+.BR sched_setscheduler (2)
+has a description of the Linux scheduling scheme.
+.PP
+.I Programming for the real world \- POSIX.4
+by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
+.br
+.I IEEE Std 1003.1b-1993
+(POSIX.1b standard)
+.br
+.I ISO/IEC 9945-1:1996