From: Ingo Molnar Date: Tue, 19 May 2009 13:50:30 +0000 (+0200) Subject: perf_counter: Move child perfcounter init to after scheduler init X-Git-Tag: v2.6.31-rc1~383^2~233 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e4cbb4e3ac8b09fdb11e39e5a5611bfab0a7cd1a;p=platform%2Fkernel%2Flinux-3.10.git perf_counter: Move child perfcounter init to after scheduler init Initialize a task's perfcounters (inherit from parent, etc.) after the child task's scheduler fields have been initialized already. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar --- diff --git a/kernel/fork.c b/kernel/fork.c index e72a09f..675e01e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -984,7 +984,6 @@ static struct task_struct *copy_process(unsigned long clone_flags, goto fork_out; rt_mutex_init_task(p); - perf_counter_init_task(p); #ifdef CONFIG_PROVE_LOCKING DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); @@ -1096,6 +1095,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, /* Perform scheduler related setup. Assign this task to a CPU. */ sched_fork(p, clone_flags); + perf_counter_init_task(p); if ((retval = audit_alloc(p))) goto bad_fork_cleanup_policy;