From: "Jack Harvard" <jack.harvard@googlemail.com>
To: "dean gaudet" <dean@arctic.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: How does Linux measure CPU frequency?
Date: Mon, 7 Apr 2008 14:16:03 +0100 [thread overview]
Message-ID: <a72f6a3c0804070616p4c8cebfs2ad894e529ee904d@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.1.10.0804060935520.7751@twinlark.arctic.org>
On Sun, Apr 6, 2008 at 5:37 PM, dean gaudet <dean@arctic.org> wrote:
> linux knows what style of cpu it is running on and uses non-portable
> techniques to read the time-stamp counter.
>
> lmbench uses some really nice tricks to estimate the cpu frequency in a
> portable manner... all it requires is that at least two of the N code
> sequences it times take a co-prime number of cycles.
The MHZ measures time by gettimeofday( ), and
this assumes that the function gettimeofday( ) returns the actual
real-world time elapse in microseconds, instead of some scaled time.
What I mean here by scaled time is, Linux kernel keeps time by reading
a counter which is increased by one when an interrupt is generated
from a physical timer, and Linux defines the default HZ = 100 which
means an interrupt is generated every 10 milliseconds, but without
knowing which clock the physical timer is clocked at it is impossible
to correctly measure 10 milliseconds by the timer. Therefore, the
results from MHZ could be scaled? please correct me if I am wrong.
And, I believe this is the same case for Linux TSC (time stamp
counter), as the time constant of ~50ms is also measured by a
programmable interval timer which can also be scaled.
>
> -dean
>
>
>
> On Sun, 6 Apr 2008, Jack Harvard wrote:
>
> > Hi,
> >
> > I want to find out how Linux calibrates the frequency of CPUs, and
> > want to compare with the way how lmbench measures processor frequency.
> > I had a thorough google search of this topic but didn't get too much
> > useful results.
> >
> > Thanks a lot,
> > Jack
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
prev parent reply other threads:[~2008-04-07 13:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-06 16:30 Jack Harvard
2008-04-06 16:37 ` dean gaudet
2008-04-07 13:16 ` Jack Harvard [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a72f6a3c0804070616p4c8cebfs2ad894e529ee904d@mail.gmail.com \
--to=jack.harvard@googlemail.com \
--cc=dean@arctic.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®