1. 31 1月, 2012 1 次提交
  2. 24 12月, 2011 1 次提交
    • R
      perf script: Add generic perl handler to process events · 37a058ea
      Robert Richter 提交于
      The current perf scripting facility only supports tracepoints. This
      patch implements a generic perl handler to support other events than
      tracepoints too.
      
      This patch introduces a function process_event() that is called by perf
      for each sample. The function is called with byte streams as arguments
      containing information about the event, its attributes, the sample and
      raw data. Perl's unpack() function can easily be used for byte decoding.
      The following is the default implementation for process_event() that can
      also be generated with perf script:
      
       # Packed byte string args of process_event():
       #
       # $event:       union perf_event        util/event.h
       # $attr:        struct perf_event_attr  linux/perf_event.h
       # $sample:      struct perf_sample      util/event.h
       # $raw_data:    perf_sample->raw_data   util/event.h
      
       sub process_event
       {
               my ($event, $attr, $sample, $raw_data) = @_;
      
               my @event       = unpack("LSS", $event);
               my @attr        = unpack("LLQQQQQLLQQ", $attr);
               my @sample      = unpack("QLLQQQQQLL", $sample);
               my @raw_data    = unpack("C*", $raw_data);
      
               use Data::Dumper;
               print Dumper \@event, \@attr, \@sample, \@raw_data;
       }
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1323969824-9711-4-git-send-email-robert.richter@amd.comSigned-off-by: NRobert Richter <robert.richter@amd.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      37a058ea
  3. 28 11月, 2011 1 次提交
  4. 24 3月, 2011 1 次提交
    • A
      perf session: Pass evsel in event_ops->sample() · 9e69c210
      Arnaldo Carvalho de Melo 提交于
      Resolving the sample->id to an evsel since the most advanced tools,
      report and annotate, and the others will too when they evolve to
      properly support multi-event perf.data files.
      
      Good also because it does an extra validation, checking that the ID is
      valid when present. When that is not the case, the overhead is just a
      branch + function call (perf_evlist__id2evsel).
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      9e69c210
  5. 15 3月, 2011 1 次提交
  6. 07 2月, 2011 1 次提交
    • K
      perf tool: Fix gcc 4.6.0 issues · fb7d0b3c
      Kyle McMartin 提交于
      GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf
      due to the -Werror=unused-but-set-variable flag.
      
      I've gone through and annotated some of the assignments that had side
      effects (ie: return value from a function) with the __used annotation,
      and in some cases, just removed unused code.
      
      In a few cases, we were assigning something useful, but not using it in
      later parts of the function.
      
      kyle@dreadnought:~/src% gcc --version
      gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3)
      
      Cc: Ingo Molnar <mingo@redhat.com>
      LKML-Reference: <20110124161304.GK27353@bombadil.infradead.org>
      Signed-off-by: NKyle McMartin <kyle@redhat.com>
      [ committer note: Fixed up the annotation fixes, as that code moved recently ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      fb7d0b3c
  7. 17 11月, 2010 1 次提交
  8. 01 6月, 2010 1 次提交
  9. 11 5月, 2010 1 次提交
  10. 03 4月, 2010 1 次提交
    • T
      perf/scripts: Tuple was set from long in both branches in python_process_event() · b1dcc03c
      Tom Zanussi 提交于
      This is a fix to the signed/unsigned field handling in the
      Python scripting engine, based on a patch from Roel Kluin.
      
      Basically, Python wants to use a PyInt (which is internally a
      long) if it can i.e. if the value will fit into that type.  If
      not, it stores it into a PyLong, which isn't actually a long,
      but an arbitrary-precision integer variable.
      
      The code below is similar to to what Python does internally, and
      it seems to work as expected on the x86 and x86_64 sytems I
      tested it on.
      Signed-off-by: NTom Zanussi <tzanussi@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Roel Kluin <roel.kluin@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: rostedt@goodmis.org
      LKML-Reference: <1270184305.6422.10.camel@tropicana>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b1dcc03c
  11. 25 2月, 2010 2 次提交
  12. 24 2月, 2010 1 次提交
    • T
      perf/scripts: Move Perl scripting files to scripting-engines dir · 82d156cd
      Tom Zanussi 提交于
      Create a scripting-engines directory to contain scripting engine
      implementation code, in anticipation of the addition of new scripting
      support.  Also removes trace-event-perl.h.
      Signed-off-by: NTom Zanussi <tzanussi@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Keiichi KII <k-keiichi@bx.jp.nec.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <1264580883-15324-5-git-send-email-tzanussi@gmail.com>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      82d156cd