lkml.org 
[lkml]   [2010]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/5] perf events finer grained context instrumentation / context exclusion

    * Frederic Weisbecker <fweisbec@gmail.com> wrote:

    > Performance counter stats for './hackbench 5' (10 runs):
    >
    > 1313640764 instructions # 0,241 IPC ( +- 1,393% ) (scaled from 100,05%)
    > 214737441 branches ( +- 0,948% )
    >
    > 1293802776 instructions # 0,245 IPC ( +- 0,343% )
    > 209495435 branches ( +- 0,392% )

    Indeed it's about 4 times less noise, not bad.

    Cycles is fundamentally random.

    > So yeah, the results look a bit better. Still not perfects:
    >
    > - we are still instrumenting the tiny parts between the true interrupt
    > and irq_enter() (same for irq_exit() and the end). Same for softirqs.
    >
    > - random randomnesses...

    Random randomness shouldnt occur for something like instructions or branches.

    Could you try some 'must not be variable' workload, like:

    taskset 1 ./hackbench 1

    If the workload is pinned to a single CPU then it ought to not be variable at
    all. (modulo things like hash chain lengths and slab caching details, but
    those should not cause 0.4% kind of noise IMO)

    Btw., we could try to record all branches of an execution (using BTS, of a
    relatively short but static-length run), and see where the variance comes
    from. I doubt the current BTS code is ready for that, but it would be 'the'
    magic trace-from-hell that includes all execution of the task, recorded at the
    hardware level.

    Ingo


    \
     
     \ /
      Last update: 2010-06-10 12:19    [W:3.002 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site