Re: [PATCH] cpuidle: governor: menu: move repeated correction factor check to init

From: Rafael J. Wysocki
Date: Tue Apr 22 2014 - 05:46:57 EST


On Tuesday, April 22, 2014 08:27:53 AM Chander Kashyap wrote:
> ping

Please CC cpuidle patches to linux-pm@xxxxxxxxxxxxxxxx

Thanks!

> On 10 April 2014 19:57, Tuukka Tikkanen <tuukka.tikkanen@xxxxxxxxxx> wrote:
> > On 10 April 2014 16:43, Chander Kashyap <chander.kashyap@xxxxxxxxxx> wrote:
> >> In menu_select function we check for correction factor every time.
> >> If it is zero we are initializing to unity. Hence move it to init function
> >> and initialise by unity, hence avoid repeated comparisons.
> >>
> >> Signed-off-by: Chander Kashyap <chander.kashyap@xxxxxxxxxx>
> >> ---
> >> drivers/cpuidle/governors/menu.c | 15 ++++++++-------
> >> 1 file changed, 8 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c
> >> index cf7f2f0..048f6d9 100644
> >> --- a/drivers/cpuidle/governors/menu.c
> >> +++ b/drivers/cpuidle/governors/menu.c
> >> @@ -315,13 +315,6 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev)
> >> multiplier = performance_multiplier();
> >>
> >> /*
> >> - * if the correction factor is 0 (eg first time init or cpu hotplug
> >> - * etc), we actually want to start out with a unity factor.
> >> - */
> >> - if (data->correction_factor[data->bucket] == 0)
> >> - data->correction_factor[data->bucket] = RESOLUTION * DECAY;
> >> -
> >> - /*
> >> * Force the result of multiplication to be 64 bits even if both
> >> * operands are 32 bits.
> >> * Make sure to round up for half microseconds.
> >> @@ -453,9 +446,17 @@ static int menu_enable_device(struct cpuidle_driver *drv,
> >> struct cpuidle_device *dev)
> >> {
> >> struct menu_device *data = &per_cpu(menu_devices, dev->cpu);
> >> + int i;
> >>
> >> memset(data, 0, sizeof(struct menu_device));
> >>
> >> + /*
> >> + * if the correction factor is 0 (eg first time init or cpu hotplug
> >> + * etc), we actually want to start out with a unity factor.
> >> + */
> >> + for(i = 0; i < BUCKETS; i++)
> >> + data->correction_factor[i] = RESOLUTION * DECAY;
> >> +
> >> return 0;
> >> }
> >>
> >> --
> >> 1.7.9.5
> >>
> >
> > Reviewed-by: Tuukka Tikkanen <tuukka.tikkanen@xxxxxxxxxx>
>
>
>
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/