[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANDhNCop3qQ0PRm7ucR-q5smsXOZwUEsqRdJ=xc8suemWpDyDw@mail.gmail.com>
Date: Tue, 14 Feb 2023 11:34:15 -0800
From: John Stultz <jstultz@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: "Liang, Kan" <kan.liang@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>, mingo@...hat.com,
linux-kernel@...r.kernel.org, sboyd@...nel.org, eranian@...gle.com,
namhyung@...nel.org, ak@...ux.intel.com, adrian.hunter@...el.com
Subject: Re: [RFC PATCH V2 2/9] perf: Extend ABI to support post-processing
monotonic raw conversion
On Tue, Feb 14, 2023 at 7:56 AM Peter Zijlstra <peterz@...radead.org> wrote:
>
> On Mon, Feb 13, 2023 at 02:22:39PM -0800, John Stultz wrote:
> > The interpoloation is pretty easy to do:
> >
> > do {
> > start= readtsc();
> > clock_gett(CLOCK_MONOTONIC_RAW, &ts);
> > end = readtsc();
> > delta = end-start;
> > } while (delta > THRESHOLD) // make sure the reads were not preempted
> > mid = start + (delta +(delta/2))/2; //round-closest
> >
> > and be able to get you a fairly close matching of TSC to
> > CLOCK_MONOTONIC_RAW value.
> >
> > Once you have that mapping you can take a few samples and establish
> > the linear function.
>
> Right, this is how we do the TSC calibration in the first place, and if
> NTP can achieve high correctness over a network, then surely we can do
> better locally.
>
> That is, this scheme should work for all CLOCKs, not only MONOTONIC_RAW.
Well, CLOCK_MONOTONIC_RAW is at least a fixed function, we don't
change its frequency. Whereas other clocks will likely be adjusted
over their lifetime, so deriving the frequency has to be continually
re-calculated, so they aren't ideal for this sort of interpolation.
thanks
-john
Powered by blists - more mailing lists