1. 25 10月, 2016 4 次提交
    • N
      perf hist browser: Fix hierarchy column counts · 8a06b0be
      Namhyung Kim 提交于
      The perf report/top on TUI supports horizontal scrolling using LEFT and
      RIGHT keys.
      
      But it calculate the number of columns incorrectly when hierarchy mode
      is enabled so that keep pressing RIGHT key can make the output
      disappeared.
      
      In the hierarchy mode, all sort keys are collapsed into a single column,
      so it needs to be applied when calculating column numbers.
      Reported-and-Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20161024162110.17918-1-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8a06b0be
    • D
      perf bench futex: Sanitize numeric parameters · 60758d66
      Davidlohr Bueso 提交于
      This gets rid of oddities such as:
      
        perf bench futex hash -t -4
        perf: calloc: Cannot allocate memory
      
      Runtime (and many more) are equally busted, i.e. run for bogus amounts of
      time. Just use the abs, instead of, for example errorring out.
      
      Committer note:
      
      After the patch:
      
        $ perf bench futex hash -t -4
        # Running 'futex/hash' benchmark:
        Run summary [PID 10178]: 4 threads, each operating on 1024 [private] futexes for 10 secs.
      
        [thread  0] futexes: 0x34f9fa0 ... 0x34faf9c [ 4702208 ops/sec ]
        [thread  1] futexes: 0x34fb140 ... 0x34fc13c [ 4707020 ops/sec ]
        [thread  2] futexes: 0x34fc2e0 ... 0x34fd2dc [ 4711526 ops/sec ]
        [thread  3] futexes: 0x34fd480 ... 0x34fe47c [ 4709683 ops/sec ]
      
        Averaged 4707609 operations/sec (+- 0.04%), total secs = 10
        $
      Signed-off-by: NDavidlohr Bueso <dbueso@suse.de>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Link: http://lkml.kernel.org/r/1477342613-9938-3-git-send-email-dave@stgolabs.netSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      60758d66
    • D
      perf bench futex: Avoid worker cacheline bouncing · e2e1680f
      Davidlohr Bueso 提交于
      Sebastian noted that overhead for worker thread ops (throughput)
      accounting was producing 'perf' to appear in the profiles, consuming a
      non-trivial (i.e. 13%) amount of CPU.
      
      This is due to cacheline bouncing due to the increment of w->ops.
      
      We can easily fix this by just working on a local copy and updating the
      actual worker once done running, and ready to show the program summary.
      There is no danger of the worker being concurrent, so we can trust that
      no stale value is being seen by another thread.
      
      This also gets rid of the unnecessary cache alignment hack; its not
      worth it.
      Reported-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NDavidlohr Bueso <dbueso@suse.de>
      Acked-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Link: http://lkml.kernel.org/r/1477342613-9938-2-git-send-email-dave@stgolabs.netSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e2e1680f
    • I
      Merge tag 'perf-core-for-mingo-20161024' of... · 76e2d261
      Ingo Molnar 提交于
      Merge tag 'perf-core-for-mingo-20161024' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      New features:
      
      - Dynamicly change verbosity level by pressing 'V' in the 'perf top/report'
        hists TUI browser (Alexis Berlemont)
      
      - Implement 'perf trace --delay' in the same fashion as in 'perf record --delay',
        to skip sampling workload initialization events (Alexis Berlemont)
      
      - Make vendor named events case insensitive in 'perf list', i.e.
        'perf list LONGEST_LAT' works just the same as  'perf list longest_lat' (Andi Kleen)
      
      - Show instruction bytes and lenght in 'perf script' for Intel PT and BTS (Andi Kleen, Adrian Hunter)
      
         E.g:
      
          % perf record -e intel_pt// foo
          % perf script --itrace=i0ns -F ip,insn,insnlen
           ffffffff8101232f ilen: 5 insn: 0f 1f 44 00 00
           ffffffff81012334 ilen: 1 insn: 5b
           ffffffff81012335 ilen: 1 insn: 5d
           ffffffff81012336 ilen: 1 insn: c3
           ffffffff810123e3 ilen: 1 insn: 5b
           ffffffff810123e4 ilen: 2 insn: 41 5c
           ffffffff810123e6 ilen: 1 insn: 5d
           ffffffff810123e7 ilen: 1 insn: c3
           ffffffff810124a6 ilen: 2 insn: 31 c0
           ffffffff810124a8 ilen: 9 insn: 41 83 bc 24 a8 01 00 00 01
           ffffffff810124b1 ilen: 2 insn: 75 87
      
      - Allow enabling the perf_event_attr.branch_type attribute member: (Andi Kleen)
      
        perf record -e sched:sched_switch,cpu/cpu-cycles,branch_type=any/ ...
      
      - Add unwinding support for jitdump (Stefano Sanfilippo)
      
      Fixes:
      
      - Use raw_syscall:sys_enter timestamp in 'perf trace' (Arnaldo Carvalho de Melo)
      
      Infrastructure:
      
      - Allow jitdump to be built without libdwarf (Maciej Debski)
      
      - Sync x86's syscall table tools/ copy (Arnaldo Carvalho de Melo)
      
      - Fixes to avoid calling die() in library fuctions already propagating other
        errors (Arnaldo Carvalho de Melo)
      
      - Improvements to allow libtraceevent to be properly installed in distro
        packages (Jiri Olsa)
      
      - Removing coresight miscellaneous debug output (Mathieu Poirier)
      
      - Cache align the 'perf bench futex' worker struct (Sebastian Andrzej Siewior)
      
      Documentation:
      
      - Minor improvements on the documentation of event parameters (Andi Kleen)
      
      - Add jitdump format specification document (Stephane Eranian)
      
      Spelling fixes:
      
      - Fix typo "No enough" to "Not enough" (Alexander Alemayhu)
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      76e2d261
  2. 24 10月, 2016 36 次提交