[PATCH] taskstats_tgid_alloc: optimization
authorOleg Nesterov <oleg@tv-sign.ru>
Sat, 28 Oct 2006 17:38:52 +0000 (10:38 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 28 Oct 2006 18:30:54 +0000 (11:30 -0700)
Every subthread (except first) does unneeded kmem_cache_alloc/kmem_cache_free.

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>
include/linux/taskstats_kern.h

index a437ca0..6642240 100644 (file)
@@ -32,6 +32,9 @@ static inline void taskstats_tgid_alloc(struct signal_struct *sig)
        struct taskstats *stats;
        unsigned long flags;
 
+       if (sig->stats != NULL)
+               return;
+
        stats = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL);
        if (!stats)
                return;