Re: question about logic of steal_account_process_tick() ?
From: Chris Friesen
Date: Fri Mar 04 2016 - 15:47:36 EST
On 03/04/2016 01:51 PM, Chris Friesen wrote:
The thing is, steal_account_process_tick() returns units of cputime, which I
think is nanoseconds on x86_64. So if we have a tiny amount of stolen time it
seems like that will prevent a whole tick from being accounted into
user/system/idle.
I feel like I must be missing something here, can someone tell me what it is?
Looking at commit dee08a72 (from 2014) it seems like the units of the return
value of steal_account_process_tick() changed from ticks to cputime_t. I don't
see an equivalent change in the logic in account_process_tick(), which seems to
assume that a nonzero return value in steal_account_process_tick() means a whole
tick has been stolen.
Was there a change to make paravirt_steal_clock() increment in ticks? If not it
seems like there's a unit mismatch here.
Chris