Re: [PATCH]x86-tsc.c : fix compile warning

From: Subrata Modak
Date: Thu Jun 18 2009 - 04:48:24 EST


On Thu, 2009-06-18 at 12:57 +0530, Balbir Singh wrote:
> * Ingo Molnar <mingo@xxxxxxx> [2009-06-17 18:23:03]:
>
> >
> > * Frans Pop <elendil@xxxxxxxxx> wrote:
> >
> > > On Wednesday 17 June 2009, Ingo Molnar wrote:
> > > > Ah, and you fixed in what a superior way: you improved the code in
> > > > the process :-) This is how warnings should be fixed really.
> > >
> > > Hmm. Did you also see Pavel's reply to that patch [1]:
> > > ! But that's a bug to be fixed, I'd say? ... actually I believe you are
> > > ! introducing a bug here. Yes, old code would put random numbers in
> > > ! loops_per_jiffy_ref for !CPUFREQ_CONST_LOOPS, but you are introducing
> > > ! oops there.
> > >
> > > Was his comment incorrect?
> > >
> > > Cheers,
> > > FJP
> > >
> > > [1] http://lkml.org/lkml/2009/5/24/159
> >
> > hm, Pavel seems right - i missed that. Subrata, mind sending an
> > updated patch?
> >
>
> Hi, Ingo,
>
> Yes, it does seem that we'll oops at *lpj, but to be honest the code
> is badly written, ideally the CONFIG_SMP part should be abstracted
> out, having that in a if loop makes reading it time consuming and
> kills a few neuro cells each time.

Balbir/Ingo,

I find this fixed in todayÅ LinusÂs git tree. dummy has been removed,
and, so does lpj initialization taking place properly.

631 static int time_cpufreq_notifier(struct notifier_block *nb, unsigned
long val,
632 void *data)
633 {
634 struct cpufreq_freqs *freq = data;
635 unsigned long *lpj;
636
637 if (cpu_has(&cpu_data(freq->cpu), X86_FEATURE_CONSTANT_TSC))
638 return 0;
639
640 lpj = &boot_cpu_data.loops_per_jiffy;

this gets initialized here for the first time on any system.

641 #ifdef CONFIG_SMP
642 if (!(freq->flags & CPUFREQ_CONST_LOOPS))
643 lpj = &cpu_data(freq->cpu).loops_per_jiffy;
644 #endif

And gets re-assigned if CONFIG_SMP.

Regards--
Subrata

>
>

--
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/