arm64: Fix task tracing
authorChristopher Covington <cov@codeaurora.org>
Wed, 3 Apr 2013 18:01:01 +0000 (19:01 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 17 Apr 2013 15:11:35 +0000 (16:11 +0100)
For accurate accounting call contextidr_thread_switch before a
task is scheduled, rather than after, when the 'next' variable has a
different meaning since we switched the stacks.

Signed-off-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/process.c

index 0337cdb0667b0128a8c6d9aeb141cacbffbff054..c2cc2493481bc7b177eea106bdb9d88fc2aa93f1 100644 (file)
@@ -311,11 +311,11 @@ struct task_struct *__switch_to(struct task_struct *prev,
        fpsimd_thread_switch(next);
        tls_thread_switch(next);
        hw_breakpoint_thread_switch(next);
+       contextidr_thread_switch(next);
 
        /* the actual thread switch */
        last = cpu_switch_to(prev, next);
 
-       contextidr_thread_switch(next);
        return last;
 }