diff options
Diffstat (limited to 'upstream/archlinux/man3p/sched_setscheduler.3p')
-rw-r--r-- | upstream/archlinux/man3p/sched_setscheduler.3p | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/sched_setscheduler.3p b/upstream/archlinux/man3p/sched_setscheduler.3p new file mode 100644 index 00000000..193d8bce --- /dev/null +++ b/upstream/archlinux/man3p/sched_setscheduler.3p @@ -0,0 +1,184 @@ +'\" et +.TH SCHED_SETSCHEDULER "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.\" +.SH NAME +sched_setscheduler +\(em set scheduling policy and parameters +(\fBREALTIME\fP) +.SH SYNOPSIS +.LP +.nf +#include <sched.h> +.P +int sched_setscheduler(pid_t \fIpid\fP, int \fIpolicy\fP, + const struct sched_param *\fIparam\fP); +.fi +.SH DESCRIPTION +The +\fIsched_setscheduler\fR() +function shall set the scheduling policy and scheduling parameters +of the process specified by +.IR pid +to +.IR policy +and the parameters specified in the +.BR sched_param +structure pointed to by +.IR param , +respectively. The value of the +.IR sched_priority +member in the +.BR sched_param +structure shall be any integer within the inclusive priority range +for the scheduling policy specified by +.IR policy . +If the value of +.IR pid +is negative, the behavior of the +\fIsched_setscheduler\fR() +function is unspecified. +.P +The possible values for the +.IR policy +parameter are defined in the +.IR <sched.h> +header. +.P +If a process specified by +.IR pid +exists, and if the calling process has permission, the scheduling +policy and scheduling parameters shall be set for the process whose +process ID is equal to +.IR pid . +.P +If +.IR pid +is zero, the scheduling policy and scheduling parameters shall be +set for the calling process. +.P +The conditions under which one process has appropriate privileges to +change the scheduling parameters of another process are +implementation-defined. +.P +Implementations may require that the requesting process have permission +to set its own scheduling parameters or those of another process. +Additionally, implementation-defined restrictions may apply as to the +appropriate privileges required to set the scheduling +policy of the process, or the scheduling policy of another process, +to a particular value. +.P +The +\fIsched_setscheduler\fR() +function shall be considered successful if it succeeds in setting the +scheduling policy and scheduling parameters of the process specified by +.IR pid +to the values specified by +.IR policy +and the structure pointed to by +.IR param , +respectively. +.P +See +.IR "Scheduling Policies" +for a description on how this function affects the scheduling of the +threads within the target process. +.P +If the current scheduling policy for the target process is not +SCHED_FIFO, SCHED_RR, +or SCHED_SPORADIC, +the result is implementation-defined; this case includes the +SCHED_OTHER policy. +.P +The specified +.IR sched_ss_repl_period +shall be greater than or equal to the specified +.IR sched_ss_init_budget +for the function to succeed; if it is not, then the function shall +fail. +.P +The value of +.IR sched_ss_max_repl +shall be within the inclusive range [1,{SS_REPL_MAX}] for the function +to succeed; if not, the function shall fail. It is unspecified whether the +.IR sched_ss_repl_period +and +.IR sched_ss_init_budget +values are stored as provided by this function or are rounded to +align with the resolution of the clock being used. +.P +This function is not atomic with respect to other threads in the +process. Threads may continue to execute while this function call is in +the process of changing the scheduling policy and associated scheduling +parameters for the underlying kernel-scheduled entities used by the +process contention scope threads. +.SH "RETURN VALUE" +Upon successful completion, the function shall return the former +scheduling policy of the specified process. If the +\fIsched_setscheduler\fR() +function fails to complete successfully, the policy and scheduling +parameters shall remain unchanged, and the function shall return a +value of \-1 and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIsched_setscheduler\fR() +function shall fail if: +.TP +.BR EINVAL +The value of the +.IR policy +parameter is invalid, or one or more of the parameters contained in +.IR param +is outside the valid range for the specified scheduling policy. +.TP +.BR EPERM +The requesting process does not have permission to set either or both +of the scheduling parameters or the scheduling policy of the specified +process. +.TP +.BR ESRCH +No process can be found corresponding to that specified by +.IR pid . +.LP +.IR "The following sections are informative." +.SH EXAMPLES +None. +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "Scheduling Policies", +.IR "\fIsched_getparam\fR\^(\|)", +.IR "\fIsched_getscheduler\fR\^(\|)", +.IR "\fIsched_setparam\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "\fB<sched.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +In the event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |