summaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorOleg Nesterov2006-10-28 19:38:53 +0200
committerLinus Torvalds2006-10-28 20:30:54 +0200
commitb8534d7bd89df0cd41cd47bcd6733a05ea9a691a (patch)
treec4650f417d7f05a9c645d6a0b1f64405ec4c8a39 /kernel/fork.c
parent[PATCH] taskstats_tgid_alloc: optimization (diff)
downloadkernel-qcow2-linux-b8534d7bd89df0cd41cd47bcd6733a05ea9a691a.tar.gz
kernel-qcow2-linux-b8534d7bd89df0cd41cd47bcd6733a05ea9a691a.tar.xz
kernel-qcow2-linux-b8534d7bd89df0cd41cd47bcd6733a05ea9a691a.zip
[PATCH] taskstats: kill ->taskstats_lock in favor of ->siglock
signal_struct is (mostly) protected by ->sighand->siglock, I think we don't need ->taskstats_lock to protect ->stats. This also allows us to simplify the locking in fill_tgid(). Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Shailabh Nagar <nagar@watson.ibm.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Jay Lan <jlan@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 213326609bac..3da978eec791 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -830,7 +830,7 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts
if (clone_flags & CLONE_THREAD) {
atomic_inc(&current->signal->count);
atomic_inc(&current->signal->live);
- taskstats_tgid_alloc(current->signal);
+ taskstats_tgid_alloc(current);
return 0;
}
sig = kmem_cache_alloc(signal_cachep, GFP_KERNEL);