diff options
Diffstat (limited to 'man3p/sched_setscheduler.3p')
-rw-r--r-- | man3p/sched_setscheduler.3p | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/man3p/sched_setscheduler.3p b/man3p/sched_setscheduler.3p new file mode 100644 index 000000000..46ccd9e59 --- /dev/null +++ b/man3p/sched_setscheduler.3p @@ -0,0 +1,170 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "SCHED_SETSCHEDULER" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" sched_setscheduler +.SH NAME +sched_setscheduler \- set scheduling policy and parameters (\fBREALTIME\fP) +.SH SYNOPSIS +.LP +\fB#include <sched.h> +.br +.sp +int sched_setscheduler(pid_t\fP \fIpid\fP\fB, int\fP \fIpolicy\fP\fB, +.br +\ \ \ \ \ \ const struct sched_param *\fP\fIparam\fP\fB); \fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIsched_setscheduler\fP() function shall set the scheduling policy +and scheduling parameters of the process specified by +\fIpid\fP to \fIpolicy\fP and the parameters specified in the \fBsched_param\fP +structure pointed to by \fIparam\fP, +respectively. The value of the \fIsched_priority\fP member in the +\fBsched_param\fP structure shall be any integer within the +inclusive priority range for the scheduling policy specified by \fIpolicy\fP. +If the value of \fIpid\fP is negative, the behavior +of the \fIsched_setscheduler\fP() function is unspecified. +.LP +The possible values for the \fIpolicy\fP parameter are defined in +the \fI<sched.h>\fP header. +.LP +If a process specified by \fIpid\fP 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 \fIpid\fP. +.LP +If \fIpid\fP is zero, the scheduling policy and scheduling parameters +shall be set for the calling process. +.LP +The conditions under which one process has the appropriate privilege +to change the scheduling parameters of another process are +implementation-defined. +.LP +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 a process' +own scheduling policy, or another process' scheduling policy, to a +particular value. +.LP +The \fIsched_setscheduler\fP() function shall be considered successful +if it succeeds in setting the scheduling policy and +scheduling parameters of the process specified by \fIpid\fP to the +values specified by \fIpolicy\fP and the structure pointed to +by \fIparam\fP, respectively. +.LP +If +the scheduling policy specified by \fIpolicy\fP is SCHED_SPORADIC, +the value specified by the \fIsched_ss_low_priority\fP member +of the \fIparam\fP argument shall be any integer within the inclusive +priority range for the sporadic server policy. The +\fIsched_ss_repl_period\fP and \fIsched_ss_init_budget\fP members +of the \fIparam\fP argument shall represent the time +parameters used by the sporadic server scheduling policy for the target +process. The \fIsched_ss_max_repl\fP member of the +\fIparam\fP argument shall represent the maximum number of replenishments +that are allowed to be pending simultaneously for the +process scheduled under this scheduling policy. +.LP +The specified \fIsched_ss_repl_period\fP shall be greater than or +equal to the specified \fIsched_ss_init_budget\fP for the +function to succeed; if it is not, then the function shall fail. +.LP +The value of \fIsched_ss_max_repl\fP shall be within the inclusive +range [1, {SS_REPL_MAX}] for the function to succeed; if +not, the function shall fail. +.LP +If the scheduling policy specified by \fIpolicy\fP is either SCHED_FIFO +or SCHED_RR, the \fIsched_ss_low_priority\fP, +\fIsched_ss_repl_period\fP, and \fIsched_ss_init_budget\fP members +of the \fIparam\fP argument shall have no effect on the +scheduling behavior. +.LP +The effect of this function on individual threads is dependent on +the scheduling contention scope of the threads: +.IP " *" 3 +For threads with system scheduling contention scope, these functions +shall have no effect on their scheduling. +.LP +.IP " *" 3 +For threads with process scheduling contention scope, the threads' +scheduling policy and associated parameters shall not be +affected. However, the scheduling of these threads with respect to +threads in other processes may be dependent on the scheduling +parameters of their process, which are governed using these functions. +.LP +.LP +If an implementation supports a two-level scheduling model in which +library threads are multiplexed on top of several +kernel-scheduled entities, then the underlying kernel-scheduled entities +for the system contention scope threads shall not be +affected by these functions. +.LP +The underlying kernel-scheduled entities for the process contention +scope threads shall have their scheduling policy and +associated scheduling parameters changed to the values specified in +\fIpolicy\fP and \fIparam\fP, respectively. Kernel-scheduled +entities for use by process contention scope threads that are created +after this call completes shall inherit their scheduling +policy and associated scheduling parameters from the process. +.LP +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 +.LP +Upon successful completion, the function shall return the former scheduling +policy of the specified process. If the +\fIsched_setscheduler\fP() function fails to complete successfully, +the policy and scheduling parameters shall remain unchanged, +and the function shall return a value of -1 and set \fIerrno\fP to +indicate the error. +.SH ERRORS +.LP +The \fIsched_setscheduler\fP() function shall fail if: +.TP 7 +.B EINVAL +The value of the \fIpolicy\fP parameter is invalid, or one or more +of the parameters contained in \fIparam\fP is outside the +valid range for the specified scheduling policy. +.TP 7 +.B 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 7 +.B ESRCH +No process can be found corresponding to that specified by \fIpid\fP. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +None. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIsched_getparam\fP() , \fIsched_getscheduler\fP() , +\fIsched_setparam\fP() , the Base Definitions volume of IEEE\ Std\ 1003.1-2001, +\fI<sched.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 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 . |