Subject: Re: [RFC/PATCH 2/2] Generic clockevents and no-idle-HZ for PowerPC

From: Olof Johansson <[email-masked]>
Date: Thu, 6 Sep 2007 14:15:16 -0500

Hi,

Nice! I've been looking forward to these patches. Should help keep power
consumption down on machines with powersavings support for idle.

On Fri, Sep 07, 2007 at 12:44:46AM +1000, Paul Mackerras wrote:

> @@ -749,6 +805,8 @@ void __init clocksource_init(void)
>  	printk(KERN_INFO "clocksource: %s mult[%x] shift[%d] registered\n",
>  	       clocksource_timebase.name,
>  	       clocksource_timebase.mult, clocksource_timebase.shift);
> +
> +	init_decrementer_clockevent();
>  }
>  
>  /* This function is only called on the boot processor */
> @@ -874,8 +932,7 @@ void __init time_init(void)
>  	/* Register the clocksource */
>  	clocksource_init();
>  
> -	/* Not exact, but the timer interrupt takes care of this */
> -	set_dec(tb_ticks_per_jiffy);
> +	set_dec(DECREMENTER_MAX);
>  }

I don't think that set_dec() is needed any more. I get a very long
delay during "Calibrating delay loop..." with it there.

Looks like decrementer_set_next_event() already sets a reasonable
decementer value, it's called through the notify chain set off
from register_decrementer_clockevent() -> ... -> tick_notify() ->
tick_setup_periodic() -> clockevents_program_event().

-Olof