[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080626173536.GA16783@elf.ucw.cz>
Date: Thu, 26 Jun 2008 19:35:36 +0200
From: Pavel Machek <pavel@....cz>
To: Alok Kataria <akataria@...are.com>
Cc: kernel list <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH] x86:Use cpu_khz for loops_per_jiffy calculation
On Thu 2008-06-26 10:20:31, Alok Kataria wrote:
> On Tue, 2008-06-24 at 10:57 -0700, Pavel Machek wrote:
> > Hi!
> >
> > > On X86 platform we can use the value of tsc_khz computed during tsc calibration
> > > to calculate the loops_per_jiffy value. Its very important to keep the error in
> > > lpj values to minimum as any error in that may result in kernel panic in
> > > check_timer.
> > > In virtualization environment, On a highly overloaded host the guest delay
> > > calibration may sometimes result in errors beyond the ~50% that timer_irq_works
> > > can handle, resulting in the guest panicking.
> >
> > How did you adress 'khz has nothing to do with loops per jiffie'
> > comment?
> >
> > 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
...
bogomips : 3657.54
So you'd break it by setting lpj (aka bogomips) to cpu_khz, right?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists