Re: [PATCH v5 3/3] sched/cputime: Add steal time support to full dynticks CPU time accounting

From: Wanpeng Li
Date: Wed Jun 08 2016 - 04:05:04 EST


2016-06-08 15:52 GMT+08:00 Ingo Molnar <mingo@xxxxxxxxxx>:
>
> * Wanpeng Li <kernellwp@xxxxxxxxx> wrote:
>
>> 2016-06-08 15:22 GMT+08:00 Ingo Molnar <mingo@xxxxxxxxxx>:
>> >
>> > * Wanpeng Li <kernellwp@xxxxxxxxx> wrote:
>> >
>> >> From: Wanpeng Li <wanpeng.li@xxxxxxxxxxx>
>> >>
>> >> This patch adds guest steal-time support to full dynticks CPU
>> >> time accounting. After the following commit:
>> >>
>> >> ff9a9b4c4334 ("sched, time: Switch VIRT_CPU_ACCOUNTING_GEN to jiffy granularity")
>> >>
>> >> ... time sampling became jiffy based, even if it's still listened
>> >> to ring boundaries, so steal_account_process_tick() is reused
>> >> to account how many 'ticks' are stolen-time, after the last accumulation.
>> >
>> > So the 'ring boundary' part still doesn't parse (neither grammatically nor
>> > logically) - please rephrase it because I have no idea what you want to say here.
>>
>> It is original from this slides.
>> http://ertl.jp/~shinpei/conf/ospert13/slides/FredericWeisbecker.pdf,
>> slide 28.
>
> Yes, I now understand that this is meant as 'context tracking is active', but I
> don't understand the way you use it in this changelog's context.
>
> Btw., the grammatically correct way to add that phrase would have been:
>
> ... time sampling became jiffy based, even if it's still listening to ring
> boundaries, so steal_account_process_tick() is reused to account how many
> 'ticks' are stolen-time, after the last accumulation.

Thanks, Ingo!

>
> But I still don't understand it, nor did Paolo understand it.
>
> Nor is there any 0/3 boilerplace description that gives some context about what
> these changes are about. Exactly what do you mean by 'add steal-time support' - we
> clearly had that before. So is your patch lifting some limitation? Or was
> steal-time accounting totally inactive with certain dynticks configurations? The
> changelog does not tell us anything about that...

Now I understand why you said "write-only code". vtime(depends on
context tracking) which is just used in full dynamic doesn't account
steal time, however, periodic/nohz idle which not use vtime have codes
account steal time in cputime.c, this patch add the steal time
acccount support in vtime which will be used in full dynamic guest.

Regards,
Wanpeng Li