-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
.\"
.\" 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 2007-04-06 "Linux" "Linux Programmer's Manual"
+.TH SCHED_RR_GET_INTERVAL 2 2014-04-28 "Linux" "Linux Programmer's Manual"
.SH NAME
sched_rr_get_interval \- get the SCHED_RR interval for the named process
.SH SYNOPSIS
.BI "int sched_rr_get_interval(pid_t " pid ", struct timespec * " tp );
.SH DESCRIPTION
.BR sched_rr_get_interval ()
-writes into the \fItimespec\fP structure pointed to by \fItp\fP the
-round-robin time quantum for the process identified by \fIpid\fP.
+writes into the
+.I timespec
+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.
-The \fItimespec\fP structure has the following form:
+The
+.I timespec
+structure has the following form:
.in +4n
.nf
.in
If
-\fIpid\fP is zero, the time quantum for the calling process is written
-into \fI*tp\fP.
-The identified process should be running under the
-.B SCHED_RR
-scheduling policy.
+.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.
.\" The round-robin time quantum value is not alterable under Linux
.\" 1.3.81.
.\"
-POSIX systems on which
-.BR sched_rr_get_interval ()
-is available define
-.B _POSIX_PRIORITY_SCHEDULING
-in \fI<unistd.h>\fP.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
On success,
.BR sched_rr_get_interval ()
returns 0.
.SH ERRORS
.TP
.B EFAULT
-Problem with copying information to userspace.
+Problem with copying information to user space.
.TP
.B EINVAL
Invalid pid.
The system call is not yet implemented (only on rather old kernels).
.TP
.B ESRCH
-The process whose ID is \fIpid\fP could not be found.
-.SH "CONFORMING TO"
+Could not find a process with the ID
+.IR pid .
+.SH CONFORMING TO
POSIX.1-2001.
.SH NOTES
-.SS Linux Notes
-.\" FIXME
-.\" From at least Linux 2.6.9, the following is no longer true
-.\" for SCHED_RR processes. For RR processes the timeslice is always
-.\" DEF_TIMESLICE, or 0.1 secs.
-.\" Was the following really true for older kernels?
-.\" Must build a 2.6.8 kernel and retest, and rewrite the following text
-.\" appropriately.
+POSIX systems on which
+.BR sched_rr_get_interval ()
+is available define
+.B _POSIX_PRIORITY_SCHEDULING
+in
+.IR <unistd.h> .
+.SS Linux notes
POSIX does not specify any mechanism for controlling the size of the
round-robin time quantum.
-However, Linux provides a (nonportable) method of doing this.
+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;
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.
+
+Linux 3.9 added
+.\" commit ce0dbbbb30aee6a835511d5be446462388ba9eee
+a new mechanism for adjusting (and viewing) the
+.BR 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 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 sched_setscheduler (2)
-has a description of the Linux scheduling scheme.
-.PP
-.I Programming for the real world \- POSIX.4
-by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
+.SH SEE ALSO
+.BR sched (7)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.