SCHED_RR_GET_INTERVAL
Section: Linux Programmer's Manual (2)
Updated: 2007-04-06
Index
Return to Main Contents
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 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.
The identified process should be running under the
SCHED_RR
scheduling policy.
POSIX systems on which
sched_rr_get_interval()
is available define
_POSIX_PRIORITY_SCHEDULING
in <unistd.h>.
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 userspace.
- EINVAL
-
Invalid pid.
- ENOSYS
-
The system call is not yet implemented (only on rather old kernels).
- ESRCH
-
The process whose ID is pid could not be found.
CONFORMING TO
POSIX.1-2001.
NOTES
Linux Notes
POSIX does not specify any mechanism for controlling the size of the
round-robin time quantum.
However, Linux provides a (non-portable) 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.
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
COLOPHON
This page is part of release 3.22 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.