1. 05 2月, 2018 1 次提交
    • J
      perf evsel: Fix period/freq terms setup · 49c0ae80
      Jiri Olsa 提交于
      Stephane reported that we don't set properly PERIOD sample type for
      events with period term defined.
      
      Before:
        $ perf record -e cpu/cpu-cycles,period=1000/u ls
        $ perf evlist -v
        cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME|PERIOD, ...
      
      After:
        $ perf record -e cpu/cpu-cycles,period=1000/u ls
        $ perf evlist -v
        cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME, ...
      
      Setting PERIOD sample type based on period term setup.
      
      Committer note:
      
      When we use -c or a period=N term in the event definition, then we don't
      need to ask the kernel, for this event, via perf_event_attr.sample_type
      |= PERF_SAMPLE_PERIOD, to put the event period in each sample for this
      event, as we know it already, it is in perf_event_attr.sample_period.
      Reported-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Tested-by: NStephane Eranian <eranian@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20180201083812.11359-2-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      49c0ae80
  2. 25 1月, 2018 28 次提交
  3. 23 1月, 2018 9 次提交
  4. 19 1月, 2018 1 次提交
    • A
      perf bpf: Don't warn about unavailability of builtin clang, just fallback · 87252323
      Arnaldo Carvalho de Melo 提交于
      When clang is not linked with 'perf' we should just add a debug message
      about that before doing the fallback to calling the external compiler.
      
      I.e. just the "-95" warning below gets turned into a debug message:
      
        # cat sys_enter_open.c
        #include "bpf.h"
      
        SEC("syscalls:sys_enter_open")
        int func(void *ctx)
        {
      	struct {
      		char *ptr;
      		char path[256];
      	} filename = {
      		.ptr = *((char **)(ctx + 16)),
      	};
      	int len = bpf_probe_read_str(filename.path, sizeof(filename.path), filename.ptr);
      	if (len > 0) {
      		if (len == 1)
      			perf_event_output(ctx, &__bpf_stdout__, BPF_F_CURRENT_CPU, &filename, len + sizeof(filename.ptr));
      		else if (len < 256)
      			perf_event_output(ctx, &__bpf_stdout__, BPF_F_CURRENT_CPU, &filename, len + sizeof(filename.ptr));
              }
      	return 0;
        }
        # trace -e open,sys_enter_open.c
        bpf: builtin compilation failed: -95, try external compiler
           0.000 (         ): __bpf_stdout__:@......./proc/self/task/11160/comm..)
           0.014 ( 0.116 ms): qemu-system-x8/6721 open(filename: /proc/self/task/11160/comm, flags: RDWR) = 91
        2335.411 (         ): __bpf_stdout__:FB..~.../etc/resolv.conf....)
        2335.421 ( 0.030 ms): chronyd/883 open(filename: /etc/resolv.conf, flags: CLOEXEC) = 5
      ^C#
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-z5aak9oay448ffj37giz94yr@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      87252323
  5. 18 1月, 2018 1 次提交
    • A
      perf tools: Use ui__error() for reporting --fields errors · 56271170
      Arnaldo Carvalho de Melo 提交于
      So that we can get it working for TUI, where using just pr_err() would
      end up making the message emitted to stderr to be erased by the TUI exit
      routine restoring the terminal to its previous state.
      
      Now we can see that trying to use a tracepoint field as one of the
      --field entries isn't working:
      
        # perf top --stdio --no-children -e syscalls:sys_enter_write --fields pid,sym,count
        Error:
        Unknown --fields key: `count'
         Usage: perf top [<options>]
      
              --fields <key[,keys...]>
                                output field(s): overhead, period, sample plus all of sort keys
        #
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-usy9hhy7umdd4bbblkn63t8w@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      56271170
新手
引导
客服 返回
顶部