Prev: [tip:sched/core] sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless
Next: [tip:sched/core] sched: task_tick_rt: Remove the obsolete ->signal != NULL check
From: tip-bot for Oleg Nesterov on 18 Jun 2010 06:30 Commit-ID: 48286d5088a3ba76de40a6b70221632a49cab7a1 Gitweb: http://git.kernel.org/tip/48286d5088a3ba76de40a6b70221632a49cab7a1 Author: Oleg Nesterov <oleg(a)redhat.com> AuthorDate: Fri, 11 Jun 2010 01:09:52 +0200 Committer: Ingo Molnar <mingo(a)elte.hu> CommitDate: Fri, 18 Jun 2010 10:46:56 +0200 sched: Remove the obsolete exit_state/signal hacks account_group_xxx() functions check ->exit_state to ensure that current->signal is valid and can't go away. This is not needed since ea6d290c, task->signal is pinned to task_struct. The comment and another hack in account_group_exec_runtime() refers to task_rq_unlock_wait() which was already removed by b7b8ff63. Signed-off-by: Oleg Nesterov <oleg(a)redhat.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra(a)chello.nl> LKML-Reference: <20100610230952.GA25914(a)redhat.com> Signed-off-by: Ingo Molnar <mingo(a)elte.hu> --- kernel/sched_stats.h | 27 +++------------------------ 1 files changed, 3 insertions(+), 24 deletions(-) diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h index 32d2bd4..25c2f96 100644 --- a/kernel/sched_stats.h +++ b/kernel/sched_stats.h @@ -295,13 +295,7 @@ sched_info_switch(struct task_struct *prev, struct task_struct *next) static inline void account_group_user_time(struct task_struct *tsk, cputime_t cputime) { - struct thread_group_cputimer *cputimer; - - /* tsk == current, ensure it is safe to use ->signal */ - if (unlikely(tsk->exit_state)) - return; - - cputimer = &tsk->signal->cputimer; + struct thread_group_cputimer *cputimer = &tsk->signal->cputimer; if (!cputimer->running) return; @@ -325,13 +319,7 @@ static inline void account_group_user_time(struct task_struct *tsk, static inline void account_group_system_time(struct task_struct *tsk, cputime_t cputime) { - struct thread_group_cputimer *cputimer; - - /* tsk == current, ensure it is safe to use ->signal */ - if (unlikely(tsk->exit_state)) - return; - - cputimer = &tsk->signal->cputimer; + struct thread_group_cputimer *cputimer = &tsk->signal->cputimer; if (!cputimer->running) return; @@ -355,16 +343,7 @@ static inline void account_group_system_time(struct task_struct *tsk, static inline void account_group_exec_runtime(struct task_struct *tsk, unsigned long long ns) { - struct thread_group_cputimer *cputimer; - struct signal_struct *sig; - - sig = tsk->signal; - /* see __exit_signal()->task_rq_unlock_wait() */ - barrier(); - if (unlikely(!sig)) - return; - - cputimer = &sig->cputimer; + struct thread_group_cputimer *cputimer = &tsk->signal->cputimer; if (!cputimer->running) return; -- 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/ |