[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86709eae-fa35-e36a-cafd-2c917d188276@hisilicon.com>
Date: Wed, 1 Aug 2018 10:45:16 +0800
From: Xu YiPing <xuyiping@...ilicon.com>
To: Thomas Gleixner <tglx@...utronix.de>
CC: <john.stultz@...aro.org>, <sboyd@...nel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] timers: fix offset calculation when the expires align
with LVL_GRAN
On 2018/7/31 22:34, Thomas Gleixner wrote:
>
>
> On Tue, 31 Jul 2018, Thomas Gleixner wrote:
>
>> On Tue, 31 Jul 2018, Xu YiPing wrote:
>>> On 2018/7/30 19:03, Thomas Gleixner wrote:
>>>>
>>>> __internal_add_timer(base, timer)
>>>> {
>>>> idx = calc_wheel_index(1, 1)
>>>> {
>>>> delta = 1 - 1; <- 0
>>>>
>>>> if (0 < LVL_START(1))
>>>> idx = calc_index(1, 0)
>>>> {
>>>> expires = (1 + LVL_GRAN(0) - 1) >> LVL_SHIFT(0);
>>>> ----> expires = 0
>>>
>>> LVL_GRAN(0) = 1 and LVL_SHIFT(0) = 0
>>>
>>> after the calculation, expires = 1 ?
>>
>> Indeed. You're right. Math is hard... So the index would be 1 and still not
>> fulfil the below:
>
> Hmm, crap. Let me think about it some more. 34C is way too hot to think.
>
when the expire is aligned with LVL_GRAN(x), it could be triggered at expire,
no need to wait another LVL_GRAN(x).
just a little improvement, useful when expire is small.
> Thanks,
>
> tglx
>
> .
>
Powered by blists - more mailing lists