On Tue, 2016-08-09 at 11:59 +0800, Wanpeng Li wrote: > Hi Rik, > 2016-07-13 22:50 GMT+08:00 Frederic Weisbecker <fweis...@gmail.com>: > > From: Rik van Riel <r...@redhat.com> > > > > Currently, if there was any irq or softirq time during 'ticks' > > jiffies, the entire period will be accounted as irq or softirq > > time. > > > > This is inaccurate if only a subset of the time was actually spent > > handling irqs, and could conceivably mis-count all of the ticks > > during > > a period as irq time, when there was some irq and some softirq > > time. > > > > This can actually happen when irqtime_account_process_tick is > > called > > from account_idle_ticks, which can pass a larger number of ticks > > down > > all at once. > > > > Fix this by changing irqtime_account_hi_update, > > irqtime_account_si_update, > > and steal_account_process_ticks to work with cputime_t time units, > > and > > return the amount of time spent in each mode. > > Do we need to minus st cputime from idle cputime in > account_idle_ticks() when noirqtime is true? I try to add this logic > w/ noirqtime and idle=poll boot parameter for a full dynticks guest, > however, there is no difference, where I miss?
Yes, you are right. The code in account_idle_ticks() could use the same treatment. I am not sure why it would not work, though... -- All Rights Reversed.
signature.asc
Description: This is a digitally signed message part