[lkml]   [2008]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC PATCH 1/3] Unified trace buffer

    * Martin Bligh <> wrote:

    > > And I don't think normalizing later is in any way more fundamentally
    > > hard. It just means that you do part of the expensive things after
    > > you have gathered the trace, rather than during.
    > Agree with you on doing the expensive stuff later. If we wanted to get
    > something that'd pack down to a couple fewer bits, and approximate ns,
    > we could always >> 1 if you were > 2GHz, and >> 2 if you where > 4GHz,
    > etc. which is at least cheap.

    ... which is exactly what sched_clock() does, combined with a
    multiplication. (which is about as expensive as normal linear
    arithmetics on most CPUs - i.e. in the 1 cycle range)

    Normalizing has the advantage that we dont have to worry about it ever
    again. Not about a changing scale due to cpufreq, slowing down or
    speeding up TSCs due to C2/C3. We have so much TSC breakage all across
    the spectrum that post-processing it is a nightmare in practice. Plus we
    want sched_clock() to be fast anyway.

    in the distant future we not only will have constant-TSC but it wont
    stop in C2/C3 either at a whim (which they do right now, messing up
    timestamps). At that stage fast time readout it will be so sane that CPU
    makers should really provide a nanosec readout - it's easy to do a
    simple multiplicator and hide the few cycles multiplicator latency to
    RDTSC (this is continuous time after all so it's easy for the hw).



     \ /
      Last update: 2008-09-25 17:39    [W:0.021 / U:6.056 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site