Messages in this thread | | | Subject | Re: [RFC PATCH] x86:Use cpu_khz for loops_per_jiffy calculation | From | Alok Kataria <> | Date | Thu, 26 Jun 2008 16:10:34 -0700 |
| |
On Thu, 2008-06-26 at 15:16 -0700, Pavel Machek wrote: > Hi! > > > > > > Some cpus can do loop in cycle , some need two cycles, some need half. > > > > > > > > Hi Pavel, > > > > > > > > When you say loops per jiffies has nothing to do with khz, by khz you > > > > mean the cpu frequency, right ? > > > > > > Yes. > > > > > > > AFAIU in calibrate_delay_direct too we measure the amount by which timer > > > > has ticked until DELAY_CALIBRATION_TICKS amount of jiffies has passed. > > > > So IMO the code there too assumes that there is one loop per timer > > > > cycle ? > > > > > > On my machine, it reports: > > > > > > delay using timer specific routine.. 3661.98 BogoMIPS (lpj=7323971) > > > ... > > > Detected 1828.828 MHz processor. > > > > > > (/proc/cpuinfo) > > > model name : Genuine Intel(R) CPU T2400 @ 1.83GHz > > > ... > > > cpu MHz : 1000.000 > > How is it 1000 here ? shouldn't this be 1830.xx > > cpufreq effect, I believe. > > > > bogomips : 3657.54 > > > > > > So you'd break it by setting lpj (aka bogomips) to cpu_khz, right? > > > > We are not setting it to cpu_khz but to tsc_khz, i am assuming that in > > this case tsc_khz will be different than cpu_khz. Can you please mail me > > the full dmesg log. > > Yes, but neither cpu_khz nor tsc_khz will be 3657 bogoMips, right?
Hi Pavel,
Thanks for the dmesg. The HZ value that you are using on this system is 250, right ?
If you note the calculations > + lpj = ((u64)tsc_khz * 1000); > + do_div(lpj, HZ);
We are dividing by HZ over here. So you are right in saying that tsc_khz wont be equal to bogoMips but lpj_fine will surely be computed correct since we do consider the HZ value.
Please let me know if you still have any doubts. Or can i safely assume that you will ACK the patch ;-)
Thanks, Alok
> > Anyway, here are my boot messages. > Pavel >
| |