Messages in this thread | | | Date | Sun, 6 Mar 2016 11:58:57 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH v2] sched/cputime: steal_account_process_tick() should return jiffies |
| |
On Sat, 5 Mar 2016, Chris Friesen wrote:
> The callers of steal_account_process_tick() expect it to return > whether a jiffy should be considered stolen or not. > > Currently the return value of steal_account_process_tick() is in > units of cputime, which vary between either jiffies or nsecs > depending on CONFIG_VIRT_CPU_ACCOUNTING_GEN. > > If cputime has nsecs granularity and there is a tiny amount of > stolen time (a few nsecs, say) then we will consider the entire > tick stolen and will not account the tick on user/system/idle, > causing /proc/stats to show invalid data. > > The fix is to change steal_account_process_tick() to accumulate > the stolen time and only account it once it's worth a jiffy. > > (Thanks to Frederic Weisbecker for suggestions to fix a bug in my > first version of the patch.) > > Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
| |