1. 28 11月, 2013 1 次提交
    • S
      tools lib traceevent: Use helper trace-seq in print functions like kernel does · 12e55569
      Steven Rostedt 提交于
      Jiri Olsa reported that his plugin for scsi was chopping off part of the
      output. Investigating this, I found that Jiri used the same functions as
      what is in the kernel, which adds the following:
      
      	trace_seq_putc(p, 0);
      
      This adds a '\0' to the output string. The reason this works in the
      kernel is that the "p" that is passed to the function helper is a
      temporary trace_seq. But in the libtraceevent library, it's the pointer
      to the trace_seq used to output. By adding the '\0', it truncates the
      line and nothing added after that will be printed.
      
      We can solve this in two ways. One is to have the helper functions for
      the library not add the unnecessary '\0'. The other is to change the
      library to also use a helper trace_seq structure that gets copied to the
      main trace_seq just like the kernel does.
      
      The latter allows the helper functions in the plugins to be the same as
      the kernel, which is the better solution.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Reported-by: NJiri Olsa <jolsa@redhat.com>
      Tested-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20131119182937.401668e3@gandalf.local.homeSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      12e55569
  2. 27 11月, 2013 1 次提交
    • S
      tools/perf/stat: Add event unit and scale support · 410136f5
      Stephane Eranian 提交于
      This patch adds perf stat support for handling event units and
      scales as exported by the kernel.
      
      The kernel can export PMU events actual unit and scaling factor
      via sysfs:
      
        $ ls -1 /sys/devices/power/events/energy-*
        /sys/devices/power/events/energy-cores
        /sys/devices/power/events/energy-cores.scale
        /sys/devices/power/events/energy-cores.unit
        /sys/devices/power/events/energy-pkg
        /sys/devices/power/events/energy-pkg.scale
        /sys/devices/power/events/energy-pkg.unit
        $ cat /sys/devices/power/events/energy-cores.scale
        2.3283064365386962890625e-10
        $ cat cat /sys/devices/power/events/energy-cores.unit
        Joules
      
      This patch modifies the pmu event alias code to check
      for the presence of the .unit and .scale files to load
      the corresponding values. They are then used by perf stat
      transparently:
      
         # perf stat -a -e power/energy-pkg/,power/energy-cores/,cycles -I 1000 sleep 1000
         #          time             counts   unit events
             1.000214717               3.07 Joules power/energy-pkg/         [100.00%]
             1.000214717               0.53 Joules power/energy-cores/
             1.000214717           12965028        cycles                    [100.00%]
             2.000749289               3.01 Joules power/energy-pkg/
             2.000749289               0.52 Joules power/energy-cores/
             2.000749289           15817043        cycles
      
      When the event does not have an explicit unit exported by
      the kernel, nothing is printed. In csv output mode, there
      will be an empty field.
      
      Special thanks to Jiri for providing the supporting code
      in the parser to trigger reading of the scale and unit files.
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Reviewed-by: NJiri Olsa <jolsa@redhat.com>
      Reviewed-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: zheng.z.yan@intel.com
      Cc: bp@alien8.de
      Cc: maria.n.dimakopoulou@gmail.com
      Cc: acme@redhat.com
      Link: http://lkml.kernel.org/r/1384275531-10892-3-git-send-email-eranian@google.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      410136f5
  3. 20 11月, 2013 1 次提交
    • A
      tools lib traceevent: Fix conversion of pointer to integer of different size · 6b5fa0ba
      Arnaldo Carvalho de Melo 提交于
      gcc complaint on 32-bit system:
      
        /home/acme/git/linux/tools/lib/traceevent/event-parse.c: In function ‘eval_num_arg’:
        /home/acme/git/linux/tools/lib/traceevent/event-parse.c:3468:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      
      This is because the eval_num_arg returns everything as an 'unsigned long long',
      so it converts a void pointer to a wider integer, fix it by converting the void
      pointer to an integer of the same size, 'unsigned long', before casting it to
      'unsigned long long'.
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-yllx4aqcg06v5n4vjpwiiuld@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6b5fa0ba
  4. 19 11月, 2013 4 次提交
  5. 15 11月, 2013 11 次提交
  6. 14 11月, 2013 1 次提交
    • I
      tools/perf/build: Fix timerfd feature check · bb4c5500
      Ingo Molnar 提交于
      'feature_timerfd' is checked all the time and calculated explicitly,
      in a serial fashion. Add it to CORE_FEATURE_TESTS which causes it to
      be built in parallel, using the newfangled parallel build autodetection
      code.
      
      This shaves 137 msecs off the perf build time on my system, which
      speeds up the common case cached build by 43%:
      
      Before:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
               0,453771441 seconds time elapsed                                          ( +-  0,09% )
      
      After:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
               0,316290185 seconds time elapsed                                          ( +-  0,24% )
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/n/tip-bb92CmexihopoSyqnkqepvsy@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      bb4c5500
  7. 13 11月, 2013 14 次提交
  8. 12 11月, 2013 7 次提交