[tip:sched/core] sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless
From: tip-bot for Oleg Nesterov
Date: Fri Jun 18 2010 - 06:20:07 EST
Commit-ID: a44702e8858a071aa0f2365113ea4a2e51c8b575
Gitweb: http://git.kernel.org/tip/a44702e8858a071aa0f2365113ea4a2e51c8b575
Author: Oleg Nesterov <oleg@xxxxxxxxxx>
AuthorDate: Fri, 11 Jun 2010 01:09:44 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Fri, 18 Jun 2010 10:46:55 +0200
sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless
__sched_setscheduler() takes lock_task_sighand() to access task->signal.
This is not needed since ea6d290c, ->signal can't go away.
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
LKML-Reference: <20100610230944.GA25903@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
kernel/sched.c | 8 ++------
1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c
index 132950b..b4427cc 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4600,12 +4600,8 @@ recheck:
*/
if (user && !capable(CAP_SYS_NICE)) {
if (rt_policy(policy)) {
- unsigned long rlim_rtprio;
-
- if (!lock_task_sighand(p, &flags))
- return -ESRCH;
- rlim_rtprio = task_rlimit(p, RLIMIT_RTPRIO);
- unlock_task_sighand(p, &flags);
+ unsigned long rlim_rtprio =
+ task_rlimit(p, RLIMIT_RTPRIO);
/* can't set/change the rt policy */
if (policy != p->policy && !rlim_rtprio)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/