Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sched/cputime: Rename vtime_account_user() to vtime_flush()

CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y used to accumulate user time and
account it on ticks and context switches only through the
vtime_account_user() function.

Now this model has been generalized on the 3 archs for all kind of
cputime (system, irq, ...) and all the cputime flushing happens under
vtime_account_user().

So let's rename this function to better reflect its new role.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Wanpeng Li <wanpeng.li@hotmail.com>
Link: http://lkml.kernel.org/r/1483636310-6557-11-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Frederic Weisbecker and committed by
Ingo Molnar
c8d7dabf b7394a5f

+11 -12
+1 -1
arch/ia64/kernel/time.c
··· 61 61 62 62 extern cputime_t cycle_to_cputime(u64 cyc); 63 63 64 - void vtime_account_user(struct task_struct *tsk) 64 + void vtime_flush(struct task_struct *tsk) 65 65 { 66 66 struct thread_info *ti = task_thread_info(tsk); 67 67 cputime_t delta;
+2 -4
arch/powerpc/kernel/time.c
··· 382 382 } 383 383 384 384 /* 385 - * Transfer the user time accumulated in the paca 386 - * by the exception entry and exit code to the generic 387 - * process user time records. 385 + * Account the whole cputime accumulated in the paca 388 386 * Must be called with interrupts disabled. 389 387 * Assumes that vtime_account_system/idle() has been called 390 388 * recently (i.e. since the last entry from usermode) so that 391 389 * get_paca()->user_time_scaled is up to date. 392 390 */ 393 - void vtime_account_user(struct task_struct *tsk) 391 + void vtime_flush(struct task_struct *tsk) 394 392 { 395 393 struct cpu_accounting_data *acct = get_accounting(tsk); 396 394
+1 -1
arch/s390/kernel/vtime.c
··· 214 214 * accounting system time in order to correctly compute 215 215 * the stolen time accounting. 216 216 */ 217 - void vtime_account_user(struct task_struct *tsk) 217 + void vtime_flush(struct task_struct *tsk) 218 218 { 219 219 if (do_account_vtime(tsk)) 220 220 virt_timer_expire();
+1 -1
include/linux/kernel_stat.h
··· 89 89 #ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE 90 90 static inline void account_process_tick(struct task_struct *tsk, int user) 91 91 { 92 - vtime_account_user(tsk); 92 + vtime_flush(tsk); 93 93 } 94 94 #else 95 95 extern void account_process_tick(struct task_struct *, int user);
+5 -2
include/linux/vtime.h
··· 58 58 59 59 extern void vtime_account_system(struct task_struct *tsk); 60 60 extern void vtime_account_idle(struct task_struct *tsk); 61 - extern void vtime_account_user(struct task_struct *tsk); 62 61 63 62 #else /* !CONFIG_VIRT_CPU_ACCOUNTING */ 64 63 65 64 static inline void vtime_task_switch(struct task_struct *prev) { } 66 65 static inline void vtime_account_system(struct task_struct *tsk) { } 67 - static inline void vtime_account_user(struct task_struct *tsk) { } 68 66 #endif /* !CONFIG_VIRT_CPU_ACCOUNTING */ 69 67 70 68 #ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN 71 69 extern void arch_vtime_task_switch(struct task_struct *tsk); 70 + extern void vtime_account_user(struct task_struct *tsk); 72 71 extern void vtime_user_enter(struct task_struct *tsk); 73 72 74 73 static inline void vtime_user_exit(struct task_struct *tsk) 75 74 { 76 75 vtime_account_user(tsk); 77 76 } 77 + 78 78 extern void vtime_guest_enter(struct task_struct *tsk); 79 79 extern void vtime_guest_exit(struct task_struct *tsk); 80 80 extern void vtime_init_idle(struct task_struct *tsk, int cpu); 81 81 #else /* !CONFIG_VIRT_CPU_ACCOUNTING_GEN */ 82 + static inline void vtime_account_user(struct task_struct *tsk) { } 82 83 static inline void vtime_user_enter(struct task_struct *tsk) { } 83 84 static inline void vtime_user_exit(struct task_struct *tsk) { } 84 85 static inline void vtime_guest_enter(struct task_struct *tsk) { } ··· 94 93 /* On hard|softirq exit we always account to hard|softirq cputime */ 95 94 vtime_account_system(tsk); 96 95 } 96 + extern void vtime_flush(struct task_struct *tsk); 97 97 #else /* !CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */ 98 98 static inline void vtime_account_irq_enter(struct task_struct *tsk) { } 99 99 static inline void vtime_account_irq_exit(struct task_struct *tsk) { } 100 + static inline void vtime_flush(struct task_struct *tsk) { } 100 101 #endif 101 102 102 103
+1 -3
kernel/sched/cputime.c
··· 437 437 else 438 438 vtime_account_system(prev); 439 439 440 - #ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE 441 - vtime_account_user(prev); 442 - #endif 440 + vtime_flush(prev); 443 441 arch_vtime_task_switch(prev); 444 442 } 445 443 #endif