Re: [PATCH v3 3/6] KVM-GST: KVM Steal time accounting

Avi Kivity
2011-02-15T15:17:22Z

On 02/15/2011 04:45 PM, Peter Zijlstra wrote:
> On Tue, 2011-02-15 at 16:35 +0200, Avi Kivity wrote:
>> On 02/11/2011 08:19 PM, Glauber Costa wrote:
>>> This patch accounts steal time time in kernel/sched.
>>> I kept it from last proposal, because I still see advantages
>>> in it: Doing it here will give us easier access from scheduler
>>> variables such as the cpu rq. The next patch shows an example of
>>> usage for it.
>>>
>>> Since functions like account_idle_time() can be called from
>>> multiple places, not only account_process_tick(), steal time
>>> grabbing is repeated in each account function separatedely.
>>>
>> I still don't see how we export this to userspace for top(1) and friends.
>>
> The existing steal time stuff is:
>
> kernel/sched.c:account_steal_time()
>
> cpustat->steal = cputime64_add(cpustat->steal, cputime64);
>
> and
>
> fs/proc/stat.c:show_stat()
>
>
> steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
>
> seq_printf(p, "cpu %llu %llu %llu %llu %llu %llu %llu %llu %llu "
> "%llu\n",
> (unsigned long long)cputime64_to_clock_t(user),
> (unsigned long long)cputime64_to_clock_t(nice),
> (unsigned long long)cputime64_to_clock_t(system),
> (unsigned long long)cputime64_to_clock_t(idle),
> (unsigned long long)cputime64_to_clock_t(iowait),
> (unsigned long long)cputime64_to_clock_t(irq),
> (unsigned long long)cputime64_to_clock_t(softirq),
> (unsigned long long)cputime64_to_clock_t(steal),
> (unsigned long long)cputime64_to_clock_t(guest),
> (unsigned long long)cputime64_to_clock_t(guest_nice));
>
>

Ah, so we're all set. Do you know if any user tools process this
information?