• Arnaldo Carvalho de Melo's avatar
    perf test: Update command line callchain attribute tests · 46d525ea
    Arnaldo Carvalho de Melo authored
    The "struct perf_event_attr setup" entry in 'perf test' is in fact a
    series of tests that will exec the tools, passing different sets of
    command line arguments to then intercept the sys_perf_event_open
    syscall, in user space, to check that the perf_event_attr->sample_type
    and other feature request bits are setup as expected.
    
    We recently restored the callchain requesting command line argument, -g,
    to not require a parameter ("dwarf" or "fp"), instead using a default
    ("fp" for now) and making the long option variant, --call-chain, be the
    one to be used when a different callchain collection method is
    preferred.
    
    The "struct perf_event_attr setup" test failed because we forgot to
    update the tests involving callchains, not switching from, '-g dwarf' to
    '--call-chain dwarf', making 'perf test' detect it:
    
      [root@sandy ~]# perf test -v 13
      13: struct perf_event_attr setup                           :
      --- start ---
      running '/home/acme/libexec/perf-core/tests/attr/test-record-basic'
      running '/home/acme/libexec/perf-core/tests/attr/test-record-branch-any'
      <SNIP>
      running '/home/acme/libexec/perf-core/tests/attr/test-record-graph-default'
      running '/home/acme/libexec/perf-core/tests/attr/test-record-graph-dwarf'
      expected sample_type=12583, got 295
      expected exclude_callchain_user=1, got 0
      expected sample_stack_user=8192, got 0
      FAILED '/home/acme/libexec/perf-core/tests/attr/test-record-graph-dwarf' - match failure
      ---- end ----
      struct perf_event_attr setup: FAILED!
      [root@sandy ~]#
    
    Fix all of them now to use --call-chain when explicitely specifying a
    method.
    
    There is still work to do, as '-g fp', for instance, passed without
    problems.
    
    In that case 'perf test' saw no problems as the intercepted syscall got
    the bits as expected, i.e. the default is 'fp', but the fact that 'fp'
    may be an existing program and the specified workload would then be
    passed as a parameter to it is an usability problem that needs fixing.
    
    Next merge window tho.
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    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: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-jr3oq1k5iywnp7vvqlslzydm@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    46d525ea
README 3.35 KB