How does Linux measure CPU frequency? - Kernel

This is a discussion on How does Linux measure CPU frequency? - Kernel ; 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 ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: How does Linux measure CPU frequency?

  1. How does Linux measure CPU frequency?

    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/

  2. Re: How does Linux measure CPU frequency?

    On Sun, Apr 6, 2008 at 5:37 PM, dean gaudet 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/
    > >

    >

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

+ Reply to Thread