vtime: Explicitly account pending user time on process tick
All vtime implementations just flush the user time on process tick. Consolidate that in generic code by calling a user time accounting helper. This avoids an indirect call in ia64 and prepare to also consolidate vtime context switch code. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
@@ -112,7 +112,12 @@ void vtime_task_switch(struct task_struct *prev)
|
||||
S390_lowcore.system_timer = ti->system_timer;
|
||||
}
|
||||
|
||||
void account_process_tick(struct task_struct *tsk, int user_tick)
|
||||
/*
|
||||
* In s390, accounting pending user time also implies
|
||||
* accounting system time in order to correctly compute
|
||||
* the stolen time accounting.
|
||||
*/
|
||||
void vtime_account_user(struct task_struct *tsk)
|
||||
{
|
||||
if (do_account_vtime(tsk, HARDIRQ_OFFSET))
|
||||
virt_timer_expire();
|
||||
|
Reference in New Issue
Block a user