Re: [patch V2 03/10] timers: Rework idle logic

From: Peter Zijlstra
Date: Wed Apr 19 2017 - 02:51:02 EST


On Tue, Apr 18, 2017 at 01:11:05PM +0200, Thomas Gleixner wrote:
> Storing next event and determining whether the base is idle can be done in
> __next_timer_interrupt().
>
> Preparatory patch for new call sites which need this information as well.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> ---
> kernel/time/timer.c | 43 ++++++++++++++++++++++++-------------------
> 1 file changed, 24 insertions(+), 19 deletions(-)
>
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -1358,8 +1358,11 @@ static int next_pending_bucket(struct ti
> /*
> * Search the first expiring timer in the various clock levels. Caller must
> * hold base->lock.
> + *
> + * Stores the next expiry time in base. The return value indicates whether
> + * the base is empty or not.
> */
> -static unsigned long __next_timer_interrupt(struct timer_base *base)
> +static bool __next_timer_interrupt(struct timer_base *base)

Can't say I'm a fan of this.. I sort of see where this is going, but the
fact remains that __next_timer_interrupt(), as a function, makes me
expect a return value of time/timer quantity.