powerpc/64: move account_stolen_time into its own function
authorNicholas Piggin <npiggin@gmail.com>
Sat, 30 Jan 2021 13:08:47 +0000 (23:08 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 8 Feb 2021 13:10:49 +0000 (00:10 +1100)
This will be used by interrupt entry as well.

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-38-npiggin@gmail.com
arch/powerpc/include/asm/cputime.h
arch/powerpc/kernel/syscall_64.c

index ed75d1c..504f7fe 100644 (file)
@@ -87,6 +87,17 @@ static notrace inline void account_cpu_user_exit(void)
        acct->starttime_user = tb;
 }
 
+static notrace inline void account_stolen_time(void)
+{
+#ifdef CONFIG_PPC_SPLPAR
+       if (firmware_has_feature(FW_FEATURE_SPLPAR)) {
+               struct lppaca *lp = local_paca->lppaca_ptr;
+
+               if (unlikely(local_paca->dtl_ridx != be64_to_cpu(lp->dtl_idx)))
+                       accumulate_stolen_time();
+       }
+#endif
+}
 
 #endif /* __KERNEL__ */
 #else /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
@@ -96,5 +107,8 @@ static inline void account_cpu_user_entry(void)
 static inline void account_cpu_user_exit(void)
 {
 }
+static notrace inline void account_stolen_time(void)
+{
+}
 #endif /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
 #endif /* __POWERPC_CPUTIME_H */
index a2102e7..d6be4f9 100644 (file)
@@ -69,15 +69,7 @@ notrace long system_call_exception(long r3, long r4, long r5,
 
        account_cpu_user_entry();
 
-#ifdef CONFIG_PPC_SPLPAR
-       if (IS_ENABLED(CONFIG_VIRT_CPU_ACCOUNTING_NATIVE) &&
-           firmware_has_feature(FW_FEATURE_SPLPAR)) {
-               struct lppaca *lp = local_paca->lppaca_ptr;
-
-               if (unlikely(local_paca->dtl_ridx != be64_to_cpu(lp->dtl_idx)))
-                       accumulate_stolen_time();
-       }
-#endif
+       account_stolen_time();
 
        /*
         * This is not required for the syscall exit path, but makes the