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 ker-
nels).
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 quan-
tum 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.
|