Re: [RFC PATCH] x86:Use cpu_khz for loops_per_jiffy calculation

Alok Kataria
2008-06-23T23:34:42Z

On Mon, 2008-06-23 at 16:21 -0700, Ingo Molnar wrote:
> * Alok Kataria <akataria@vmware.com> wrote:
>
> > + lpj = ((u64)tsc_khz * 1000);
> > + do_div(lpj, HZ);
> > + lpj_tsc = lpj;
>
> this needed the fix below.
>
> but there's another problem as well: why are generic files
> (init/calibrate.c and include/linux/delay.h) using something that is
> named in an x86-specific way - lpj_tsc ? (TSC is an x86 concept)
>

calibrate_delay_direct was using some variables with "tsc" as the prefix
(tsc_rate_min/max) ...so i thought of using lpj_tsc. And also IMO,
lpj_tsc explains how is this variable initialized. But thinking about
it, maybe we should rename it to "lpj_timer" ?

Also, i still haven't got to testing today's tip tree in my environment,
will let you know as soon as i have done it.

Thanks,
Alok
> Ingo
>
> ------------>
> commit 5cd5a41ea6f4363b03156e2208dd0d2266f0d67d
> Author: Ingo Molnar <mingo@elte.hu>
> Date: Tue Jun 24 01:19:49 2008 +0200
>
> x86: fix "x86: use cpu_khz for loops_per_jiffy calculation"
>
> fix:
>
> arch/x86/kernel/tsc_32.c: In function ‘tsc_init':
> arch/x86/kernel/tsc_32.c:421: error: ‘lpj_tsc' undeclared (first use in this function)
> arch/x86/kernel/tsc_32.c:421: error: (Each undeclared identifier is reported only once
> arch/x86/kernel/tsc_32.c:421: error: for each function it appears in.)
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
> diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c
> index 4adac0d..bfb9193 100644
> --- a/arch/x86/kernel/tsc_32.c
> +++ b/arch/x86/kernel/tsc_32.c
> @@ -1,6 +1,7 @@
> #include <linux/sched.h>
> #include <linux/clocksource.h>
> #include <linux/workqueue.h>
> +#include <linux/delay.h>
> #include <linux/cpufreq.h>
> #include <linux/jiffies.h>
> #include <linux/init.h>