Re: [PATCH] timers: fix LVL_START macro

From: Frederic Weisbecker
Date: Tue Nov 15 2022 - 07:02:47 EST


Hi Yun Zhou,

On Tue, Nov 15, 2022 at 10:56:14AM +0800, Yun Zhou wrote:
> The number of buckets per level should be LVL_SIZE, not LVL_SIZE-1.
>
> Signed-off-by: Yun Zhou <yun.zhou@xxxxxxxxxxxxx>
> ---
> kernel/time/timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index 717fcb9fb14a..1116b208093e 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -161,7 +161,7 @@ EXPORT_SYMBOL(jiffies_64);
> * time. We start from the last possible delta of the previous level
> * so that we can later add an extra LVL_GRAN(n) to n (see calc_index()).
> */
> -#define LVL_START(n) ((LVL_SIZE - 1) << (((n) - 1) * LVL_CLK_SHIFT))
> +#define LVL_START(n) (LVL_SIZE << (((n) - 1) * LVL_CLK_SHIFT))

See the comment above:

"We start from the last possible delta of the previous level
so that we can later add an extra LVL_GRAN(n) to n (see calc_index())."

Thanks.

>
> /* Size of each clock level */
> #define LVL_BITS 6
> --
> 2.35.2
>