sched_setscheduler.2: Document 2.6.39 changes to rules governing changes from SCHED_IDLE policy

Since Linux 2.6.39, unprivileged processes under the
SCHED_IDLE policy can switch to another nonrealtime
policy if their nice value falls within the range
permitted by their RLIMIT_NICE limit.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2011-09-20 18:25:40 +02:00
parent 96f6255496
commit 7f98857ab9
1 changed files with 13 additions and 6 deletions

View File

@ -44,11 +44,7 @@
.\" .\"
.\" Worth looking at: http://rt.wiki.kernel.org/index.php .\" Worth looking at: http://rt.wiki.kernel.org/index.php
.\" .\"
.\" FIXME: Linux 2.6.39: a thread operating under the SCHED_IDLE policy .TH SCHED_SETSCHEDULER 2 2011-09-19 "Linux" "Linux Programmer's Manual"
.\" is now allowed to upgrade itself to the SCHED_BATCH or SCHED_OTHER
.\" policy if its RLIMIT_NICE resource limit is adequate.
.\"
.TH SCHED_SETSCHEDULER 2 2010-10-04 "Linux" "Linux Programmer's Manual"
.SH NAME .SH NAME
sched_setscheduler, sched_getscheduler \- sched_setscheduler, sched_getscheduler \-
set and get scheduling policy/parameters set and get scheduling policy/parameters
@ -358,11 +354,22 @@ as long as the effective user ID of the process making the change
matches the real or effective user ID of the target process. matches the real or effective user ID of the target process.
.IP * .IP *
Special rules apply for the Special rules apply for the
.BR SCHED_IDLE : .BR SCHED_IDLE .
In Linux kernels before 2.6.39,
an unprivileged process operating under this policy cannot an unprivileged process operating under this policy cannot
change its policy, regardless of the value of its change its policy, regardless of the value of its
.BR RLIMIT_RTPRIO .BR RLIMIT_RTPRIO
resource limit. resource limit.
In Linux kernels since 2.6.39,
.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
an unprivileged process can switch to either the
.BR SCHED_BATCH
or the
.BR SCHED_NORMAL
policy so long as its nice value falls within the range permitted by its
.BR RLIMIT_NICE
resource limit (see
.BR getrlimit (2)).
.PP .PP
Privileged Privileged
.RB ( CAP_SYS_NICE ) .RB ( CAP_SYS_NICE )