diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-01-30 23:08:48 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-02-09 00:10:49 +1100 |
commit | 56acfdd8bf9f75e83a1b2957bd415368f39b67b6 (patch) | |
tree | 639500cd800e78360bf681791aab39216bb5ffe7 /arch/powerpc/include/asm/interrupt.h | |
parent | powerpc/64: move account_stolen_time into its own function (diff) | |
download | linux-dev-56acfdd8bf9f75e83a1b2957bd415368f39b67b6.tar.xz linux-dev-56acfdd8bf9f75e83a1b2957bd415368f39b67b6.zip |
powerpc/64: entry cpu time accounting in C
There is no need for this to be in asm, use the new interrupt entry wrapper.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210130130852.2952424-39-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/include/asm/interrupt.h')
-rw-r--r-- | arch/powerpc/include/asm/interrupt.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h index e96d215f518a..ca8e08b18a16 100644 --- a/arch/powerpc/include/asm/interrupt.h +++ b/arch/powerpc/include/asm/interrupt.h @@ -4,6 +4,7 @@ #include <linux/context_tracking.h> #include <linux/hardirq.h> +#include <asm/cputime.h> #include <asm/ftrace.h> struct interrupt_state { @@ -25,6 +26,9 @@ static inline void interrupt_enter_prepare(struct pt_regs *regs, struct interrup if (user_mode(regs)) { CT_WARN_ON(ct_state() != CONTEXT_USER); user_exit_irqoff(); + + account_cpu_user_entry(); + account_stolen_time(); } else { /* * CT_WARN_ON comes here via program_check_exception, @@ -37,6 +41,8 @@ static inline void interrupt_enter_prepare(struct pt_regs *regs, struct interrup #ifdef CONFIG_PPC_BOOK3E_64 state->ctx_state = exception_enter(); + if (user_mode(regs)) + account_cpu_user_entry(); #endif } |