Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tests: Fix hist accumulation test

User's values from .perfconfig could overload the default callchain
setup and cause this test to fail. Making sure the test is using
default callchain_param values.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1467634583-29147-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
347ca878 c60da22a

+18 -6
+4
tools/perf/tests/hists_cumulate.c
··· 216 216 217 217 /* check callchain entries */ 218 218 root = &he->callchain->node.rb_root; 219 + 220 + TEST_ASSERT_VAL("callchains expected", !RB_EMPTY_ROOT(root)); 219 221 cnode = rb_entry(rb_first(root), struct callchain_node, rb_node); 220 222 221 223 c = 0; ··· 668 666 perf_evsel__set_sample_bit(evsel, CALLCHAIN); 669 667 670 668 setup_sorting(NULL); 669 + 670 + callchain_param = callchain_param_default; 671 671 callchain_register_param(&callchain_param); 672 672 673 673 err = add_hist_entries(hists, machine);
+1
tools/perf/util/callchain.h
··· 106 106 }; 107 107 108 108 extern struct callchain_param callchain_param; 109 + extern struct callchain_param callchain_param_default; 109 110 110 111 struct callchain_list { 111 112 u64 ip;
+13 -6
tools/perf/util/util.c
··· 19 19 #include "callchain.h" 20 20 #include "strlist.h" 21 21 22 - struct callchain_param callchain_param = { 23 - .mode = CHAIN_GRAPH_ABS, 24 - .min_percent = 0.5, 25 - .order = ORDER_CALLEE, 26 - .key = CCKEY_FUNCTION, 27 - .value = CCVAL_PERCENT, 22 + #define CALLCHAIN_PARAM_DEFAULT \ 23 + .mode = CHAIN_GRAPH_ABS, \ 24 + .min_percent = 0.5, \ 25 + .order = ORDER_CALLEE, \ 26 + .key = CCKEY_FUNCTION, \ 27 + .value = CCVAL_PERCENT, \ 28 + 29 + struct callchain_param callchain_param = { 30 + CALLCHAIN_PARAM_DEFAULT 31 + }; 32 + 33 + struct callchain_param callchain_param_default = { 34 + CALLCHAIN_PARAM_DEFAULT 28 35 }; 29 36 30 37 /*