OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man2 / sched_rr_get_interval.2
index 2211915..4892c94 100644 (file)
@@ -1,7 +1,6 @@
-.\" 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
@@ -36,10 +35,19 @@ sched_rr_get_interval \- get the SCHED_RR interval for the named process
 .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
@@ -51,11 +59,9 @@ struct timespec {
 .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.
@@ -64,12 +70,7 @@ scheduling policy.
 .\" 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.
@@ -79,7 +80,7 @@ is set appropriately.
 .SH ERRORS
 .TP
 .B EFAULT
-Problem with copying information to userspace.
+Problem with copying information to user space.
 .TP
 .B EINVAL
 Invalid pid.
@@ -88,21 +89,21 @@ 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;
@@ -110,15 +111,32 @@ 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.
+
+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/.