diff options
Diffstat (limited to 'kernel/sched/cputime.c')
| -rw-r--r-- | kernel/sched/cputime.c | 16 | 
1 files changed, 13 insertions, 3 deletions
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 81b763ba58a..0359f47b0ae 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -433,10 +433,20 @@ void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *st)  	*st = cputime.stime;  } +void vtime_account_system(struct task_struct *tsk) +{ +	unsigned long flags; + +	local_irq_save(flags); +	__vtime_account_system(tsk); +	local_irq_restore(flags); +} +EXPORT_SYMBOL_GPL(vtime_account_system); +  /*   * Archs that account the whole time spent in the idle task   * (outside irq) as idle time can rely on this and just implement - * vtime_account_system() and vtime_account_idle(). Archs that + * __vtime_account_system() and __vtime_account_idle(). Archs that   * have other meaning of the idle time (s390 only includes the   * time spent by the CPU when it's in low power mode) must override   * vtime_account(). @@ -449,9 +459,9 @@ void vtime_account(struct task_struct *tsk)  	local_irq_save(flags);  	if (in_interrupt() || !is_idle_task(tsk)) -		vtime_account_system(tsk); +		__vtime_account_system(tsk);  	else -		vtime_account_idle(tsk); +		__vtime_account_idle(tsk);  	local_irq_restore(flags);  }  |