Re: [RESEND PATCH v2 2/2] power/idle: enhance the precision of sleep_length

From: Zhaoyang Huang
Date: Sun Jun 19 2016 - 21:15:12 EST


On 17 June 2016 at 19:50, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Fri, 17 Jun 2016, Zhaoyang Huang wrote:
>> On 17 June 2016 at 17:27, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> > On Fri, 17 Jun 2016, Zhaoyang Huang wrote:
>> >> There should be a gap between tick_nohz_idle_enter and
>> >> tick_nohz_get_sleep_length when idle, which will cause the
>> >> sleep_length is not very precised. Change it in this patch.
>> >
>> > What kind of imprecision are we talking about? Seconds, nanoseconds or
>> > lightyears?
>> >
>> > Your changelog lacks any form of useful information.
>> >
>> sorry for the confusion. The imprecision can be caused by, for
>> example, the callback function registered for CPU_PM_ENTER, which may
>> consume a period of time within the 'idle' time. Besides, I also
>> wonder why not calc the 'sleep_length' in the
>> tick_nohz_get_sleep_length? This value is calculated at very
>> beginning of the idle in current approach.
>
> You still are not explaining the amount of imprecision. What are you talking
> about and is it really relevant in any way or are you just trying to solve an
> acedemic issue?
>
> Thanks,
>
> tglx
>
Indeed, it is depends on how deep the idle state is. For example, the
lightest level for my current platform is 1100us, which sums up the
entry,exit and min time. However, there is a callback which do memory
management(merge the same page) in CPU_PM_ENTER will consume at least
500us. In current approach, it cause 50% imprecision for this level of
idle state.