summaryrefslogtreecommitdiffstats
path: root/man2/sched_rr_get_interval.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/sched_rr_get_interval.2')
-rw-r--r--man2/sched_rr_get_interval.2110
1 files changed, 110 insertions, 0 deletions
diff --git a/man2/sched_rr_get_interval.2 b/man2/sched_rr_get_interval.2
new file mode 100644
index 0000000..cbd6247
--- /dev/null
+++ b/man2/sched_rr_get_interval.2
@@ -0,0 +1,110 @@
+.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" 1996-04-01 Tom Bjorkholm <tomb@mydata.se>
+.\" First version written
+.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
+.\" revision
+.\"
+.TH sched_rr_get_interval 2 2023-03-30 "Linux man-pages 6.05.01"
+.SH NAME
+sched_rr_get_interval \- get the SCHED_RR interval for the named process
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <sched.h>
+.PP
+.BI "int sched_rr_get_interval(pid_t " pid ", struct timespec *" tp );
+.fi
+.SH DESCRIPTION
+.BR sched_rr_get_interval ()
+writes into the
+.BR timespec (3)
+structure pointed to by
+.I tp
+the round-robin time quantum for the process identified by
+.IR pid .
+The specified process should be running under the
+.B SCHED_RR
+scheduling policy.
+.PP
+If
+.I pid
+is zero, the time quantum for the calling process is written into
+.IR *tp .
+.\" FIXME . On Linux, sched_rr_get_interval()
+.\" returns the timeslice for SCHED_OTHER processes -- this timeslice
+.\" is influenced by the nice value.
+.\" For SCHED_FIFO processes, this always returns 0.
+.\"
+.\" The round-robin time quantum value is not alterable under Linux
+.\" 1.3.81.
+.\"
+.SH RETURN VALUE
+On success,
+.BR sched_rr_get_interval ()
+returns 0.
+On error, \-1 is returned, and
+.I errno
+is set to indicate the error.
+.SH ERRORS
+.TP
+.B EFAULT
+Problem with copying information to user space.
+.TP
+.B EINVAL
+Invalid pid.
+.TP
+.B ENOSYS
+The system call is not yet implemented (only on rather old kernels).
+.TP
+.B ESRCH
+Could not find a process with the ID
+.IR pid .
+.SH VERSIONS
+.SS Linux
+Linux 3.9 added
+.\" commit ce0dbbbb30aee6a835511d5be446462388ba9eee
+a new mechanism for adjusting (and viewing) the
+.B SCHED_RR
+quantum: the
+.I /proc/sys/kernel/sched_rr_timeslice_ms
+file exposes the quantum as a millisecond value, whose default is 100.
+Writing 0 to this file resets the quantum to the default value.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SS Linux
+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
+.BR 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.
+This method of adjusting the quantum was removed
+.\" commit a4ec24b48ddef1e93f7578be53270f0b95ad666c
+starting with Linux 2.6.24.
+.SH NOTES
+POSIX systems on which
+.BR sched_rr_get_interval ()
+is available define
+.B _POSIX_PRIORITY_SCHEDULING
+in
+.IR <unistd.h> .
+.\" .SH BUGS
+.\" As of Linux 1.3.81
+.\" .BR sched_rr_get_interval ()
+.\" returns with error
+.\" ENOSYS, because SCHED_RR has not yet been fully implemented and tested
+.\" properly.
+.SH SEE ALSO
+.BR timespec (3),
+.BR sched (7)