sched_rr_get_interval(2) - Linux man page
Name
sched_rr_get_interval - get the SCHED_RR interval for the named process
Synopsis
#include <sched.h>
int sched_rr_get_interval(pid_t pid, struct timespec * tp);
Description
sched_rr_get_interval() writes into the timespec structure pointed to by tp the round-robin time quantum for the process identified by pid. The specified process should be running under the SCHED_RR scheduling policy.
The timespec structure has the following form:
-
struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ }; - If pid is zero, the time quantum for the calling process is written into *tp.
Return Value
On success, sched_rr_get_interval() returns 0. On error, -1 is returned, and errno is set appropriately.
Errors
- EFAULT
Problem with copying information to user space.
EINVAL
Invalid pid.
ENOSYS
The system call is not yet implemented (only on rather old kernels).
ESRCH
Could not find a process with the ID pid.
Conforming To
POSIX.1-2001.
Notes
POSIX systems on which sched_rr_get_interval() is available define _POSIX_PRIORITY_SCHEDULING in <unistd.h>.
Linux notes
- POSIX does not specify any mechanism for controlling the size of the round-robin time quantum. Older Linux kernels provide a (nonportable) method of doing this. The quantum can be controlled by adjusting the process's nice value (see setpriority(2)). Assigning a negative (i.e., high) nice value results in a longer quantum; assigning a positive (i.e., low) nice value results in a shorter quantum. The default quantum is 0.1 seconds; the degree to which changing the nice value affects the quantum has varied somewhat across kernel versions. Since Linux 2.6.24, the SCHED_RR quantum cannot be modified.
See Also
sched_setscheduler(2) has a description of the Linux scheduling scheme.
Programming for the real world - POSIX.4 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0.