Commit f9bcf1e0e0145323ba2cf72ecad5264ff3883eb1 ("sched/cputime: Fix steal time accounting") fixes a leak on steal time accounting but forgets to account the ticks passed in parameters, assuming there is only one to take into account.
Let's consider that parameter back. Cc: Wanpeng Li <wanpeng...@hotmail.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Radim <rkrc...@redhat.com> Cc: Rik van Riel <r...@redhat.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Ingo Molnar <mi...@kernel.org> Signed-off-by: Frederic Weisbecker <fweis...@gmail.com> --- kernel/sched/cputime.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 8b9bcc5..9858266 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -509,12 +509,13 @@ void account_process_tick(struct task_struct *p, int user_tick) void account_idle_ticks(unsigned long ticks) { cputime_t cputime, steal; + if (sched_clock_irqtime) { irqtime_account_idle_ticks(ticks); return; } - cputime = cputime_one_jiffy; + cputime = jiffies_to_cputime(ticks); steal = steal_account_process_time(cputime); if (steal >= cputime) -- 2.7.0