1. 18 9月, 2014 8 次提交
    • A
      perf tools: Add perf-with-kcore script · c501e90b
      Adrian Hunter 提交于
      Decoding an Intel PT trace of the kernel requires an accurate kernel
      object image.  This is provided by making a copy of kcore.  However the
      copy needs to be made under the same conditions as the original
      recording, and then it needs to be associated with the perf.data file.
      The perf-with-kcore script does that.
      
      The script also checks the permissions on the buildid cache and can be
      used to fix them.  That is needed for distributions where root does not
      have a home directory and consequently writes to the same buildid cache
      as the user, resulting in cached files that the user does not have
      access to.
      
      Example:
      
      $ ./perf-with-kcore
      Usage: perf-with-kcore <perf sub-command> <perf.data directory> [<sub-command options> [ -- <workload>]]
             <perf sub-command> can be record, script, report or inject
         or: perf-with-kcore fix_buildid_cache_permissions
      $ ./perf-with-kcore record pt_uname -e intel_pt// -- uname
      Recording
      Using /home/ahunter/bin/perf
      perf version 3.15.rc3.g4549ba
      /home/ahunter/bin/perf record -o pt_uname/perf.data -e intel_pt//  -- uname
      Linux
      [ perf record: Woken up 3 times to write data ]
      [ perf record: Captured and wrote 0.023 MB pt_uname/perf.data ]
      Copying kcore
      [sudo] password for ahunter:
      Done
      $ tools/perf/perf-with-kcore.sh script pt_uname | head
      Using /home/ahunter/bin/perf
      perf version 3.15.rc3.g4549ba
      /home/ahunter/bin/perf script -i pt_uname/perf.data --kallsyms=pt_uname/kcore_dir/kallsyms
               swapper     0 [002] 161533.969666: sched:sched_switch: swapper/2:0 [120] R ==> perf:11316 [120]
                :11315 11315 [003] 161533.969704: sched:sched_switch: perf:11315 [120] S ==> swapper/3:0 [120]
                :11316 11316 [002] 161533.969783: sched:sched_switch: perf:11316 [120] R ==> migration/2:33 [0]
                   :33    33 [002] 161533.969791: sched:sched_switch: migration/2:33 [0] S ==> swapper/2:0 [120]
               swapper     0 [003] 161533.969792: sched:sched_switch: swapper/3:0 [120] R ==> perf:11316 [120]
                :11316 11316 [003] 161533.970062: branches:                 0 [unknown] ([unknown]) => ffffffff810532fa native_write_msr_safe ([kernel.kallsyms])
                :11316 11316 [003] 161533.970062: branches:  ffffffff810532fd native_write_msr_safe ([kernel.kallsyms]) => ffffffff81035b31 pt_config_start ([kernel.kallsyms])
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1406786474-9306-30-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c501e90b
    • A
      perf tools: Let a user specify a PMU event without any config terms · ad962273
      Adrian Hunter 提交于
      This enables a PMU event to be specified in the form:
      
      	pmu//
      
      which is effectively the same as:
      
      	pmu/config=0/
      
      This patch is a precursor to defining default config for a PMU.
      
      Further explanation extracted from lkml thread:
      
      Imagine that the 'tsc' term did not exist.
      
      Intel PT trace data would not contain TSC packets, and the decoder would
      not know how to decode them.
      
      Then imagine that a new version of the hardware adds 'tsc'.
      
      It is such a useful feature that we want it by default, but older
      versions of the tools don't know how to decode it, so the kernel cannot
      turn it on by default.
      
      It is similar to why the kernel does not select perf_event_attr.mmap2 by
      default.
      
      The kernel doesn't know whether the tool supports it.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1408129739-17368-6-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ad962273
    • J
      perf tools: Allow to specify lib compile variable for spec usage · 6997af72
      Jiri Olsa 提交于
      We need a way to specify $(lib) part of the installation path for
      traceevent plugin libraries. Currently we use 'lib64' for x86_64 and
      'lib' otherwise.
      
      Instead of listing all possible values, this change allows the rpm spec
      code to specify the correct $(lib) part based on processed architecture,
      like
      
        $ make ... lib=%{_lib}
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Tested-by: NKyle McMartin <kyle@mcmartin.ca>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1408978552-17131-1-git-send-email-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6997af72
    • A
      perf kvm stat report: Unify the title bar output · 1f3e5b55
      Alexander Yarygin 提交于
      The 'live' command prints additional information to the "Analyze events
      for " title bar about the current target.  Let's print the same title
      for the 'report' command.
      Signed-off-by: NAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1409579095-12963-4-git-send-email-yarygin@linux.vnet.ibm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1f3e5b55
    • A
      perf kvm stat report: Enable the target.system_wide flag · f181957c
      Alexander Yarygin 提交于
      The 'perf kvm stat report' command can be used to analyze events either
      for system wide or for specific pids.
      
      Let's enable kvm->opts.target.system_wide flag when 'report' command is
      running for system-wide analyzing. This helps to sync kvm->opts.target
      values in 'report' and 'live' commands.
      Signed-off-by: NAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1409579095-12963-3-git-send-email-yarygin@linux.vnet.ibm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f181957c
    • A
      perf kvm stat report: Save pid string in opts.target.pid · 3ae4a76a
      Alexander Yarygin 提交于
      The 'perf kvm stat report' command uses the kvm->pid_str field to keep
      the value of the --pid option. Let's use kvm->opts.target.pid instead.
      Signed-off-by: NAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1409579095-12963-2-git-send-email-yarygin@linux.vnet.ibm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3ae4a76a
    • A
      perf tools powerpc: Fix build issue when DWARF support is disabled · 65ccb4fa
      Anton Blanchard 提交于
      The powerpc skip callchain code uses DWARF, so we must disable it if
      DWARF is disabled.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20140825182506.2be6512d@krytenSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      65ccb4fa
    • J
      perf tools: Add +field argument support for --sort option · 1a1c0ffb
      Jiri Olsa 提交于
      Adding support to add field(s) to default sort order via using the '+'
      prefix, like for report:
      
        $ perf report
        Samples: 2K of event 'cycles', Event count (approx.): 882172583
        Overhead  Command  Shared Object        Symbol
           7.39%  swapper  [kernel.kallsyms]    [k] intel_idle
           1.97%  firefox  libpthread-2.17.so   [.] pthread_mutex_lock
           1.39%  firefox  [snd_hda_intel]      [k] azx_get_position
           1.11%  firefox  libpthread-2.17.so   [.] pthread_mutex_unlock
      
        $ perf report -s +cpu
        Samples: 2K of event 'cycles', Event count (approx.): 882172583
        Overhead  Command  Shared Object        Symbol                  CPU
           2.89%  swapper  [kernel.kallsyms]    [k] intel_idle          000
           2.61%  swapper  [kernel.kallsyms]    [k] intel_idle          002
           1.20%  swapper  [kernel.kallsyms]    [k] intel_idle          001
           0.82%  firefox  libpthread-2.17.so   [.] pthread_mutex_lock  002
      
      Works in general for commands using --sort option.
      
      v2 with changes suggested:
        - Use dynamic memory instead static buffer
        - Fix error message typo
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20140823125948.GA1193@krava.brq.redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1a1c0ffb
  2. 24 8月, 2014 3 次提交
  3. 23 8月, 2014 6 次提交
  4. 20 8月, 2014 5 次提交
  5. 16 8月, 2014 9 次提交
  6. 15 8月, 2014 9 次提交