sched: Move sched_autogroup_exit() to free_signal_struct()
Subsystems (3)
A message that is not in the archive (sent off-list or not yet received): [email protected]
Commit-ID: 1c5354de90c900b369e2ebd36c3a065ede29eb93 Gitweb: http://git.kernel.org/tip/1c5354de90c900b369e2ebd36c3a065ede29eb93 Author: Mike Galbraith <[email protected]> AuthorDate: Wed, 5 Jan 2011 11:16:04 +0100 Committer: Ingo Molnar <[email protected]> CommitDate: Fri, 7 Jan 2011 15:54:39 +0100
sched: Move sched_autogroup_exit() to free_signal_struct()
Per Oleg's suggestion, undo fork failure free/put_signal_struct change, and move sched_autogroup_exit() to free_signal_struct() instead.
Signed-off-by Mike Galbraith <[email protected]>
Reviewed-by Oleg Nesterov <[email protected]>
Signed-off-by Peter Zijlstra <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by Ingo Molnar <[email protected]>
--- kernel/fork.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
kernel/fork.c +3 -4
@@ -169,15 +169,14 @@ EXPORT_SYMBOL(free_task);static inline void free_signal_struct (struct signal_struct *sig) {taskstats_tgid_free (sig); +sched_autogroup_exit (sig);kmem_cache_free (signal_cachep, sig); }static inline void put_signal_struct (struct signal_struct *sig) { -if (atomic_dec_and_test (&sig->sigcnt)) { -sched_autogroup_exit (sig); +if (atomic_dec_and_test (&sig->sigcnt))free_signal_struct (sig); - } }void __put_task_struct (struct task_struct *tsk)
@@ -1318,7 +1317,7 @@ bad_fork_cleanup_mm: } bad_fork_cleanup_signal:if (!(clone_flags &CLONE_THREAD )) -put_signal_struct (p->signal); +free_signal_struct (p->signal); bad_fork_cleanup_sighand:__cleanup_sighand (p->sighand); bad_fork_cleanup_fs: