From: tip-bot for Oleg Nesterov on
Commit-ID: a44702e8858a071aa0f2365113ea4a2e51c8b575
Gitweb: http://git.kernel.org/tip/a44702e8858a071aa0f2365113ea4a2e51c8b575
Author: Oleg Nesterov <oleg(a)redhat.com>
AuthorDate: Fri, 11 Jun 2010 01:09:44 +0200
Committer: Ingo Molnar <mingo(a)elte.hu>
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(a)redhat.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
LKML-Reference: <20100610230944.GA25903(a)redhat.com>
Signed-off-by: Ingo Molnar <mingo(a)elte.hu>
---
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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/