perf test vmlinux: Clarify which -v lines are errors or warning

When the 'perf test -v vmlinux' test fails, it is not clear which of the
lines are errors or warnings, clarify that adding ERR/WARN prefixes:

  # perf test -F -v 1
   1: vmlinux symtab matches kallsyms                          :
  --- start ---
  Looking at the vmlinux_path (8 entries long)
  Using /lib/modules/4.8.0-rc4+/build/vmlinux for symbols
  ERR : 0xffffffffb7001000: diff name v: xen_hypercall_set_trap_table k: hypercall_page
  WARN: 0xffffffffb7077970: diff end addr for aesni_gcm_dec v: 0xffffffffb707a2f2 k: 0xffffffffb7077a02
  WARN: 0xffffffffb707a300: diff end addr for aesni_gcm_enc v: 0xffffffffb707cc03 k: 0xffffffffb707a392
  WARN: 0xffffffffb707f950: diff end addr for aesni_gcm_enc_avx_gen2 v: 0xffffffffb7084ef6 k: 0xffffffffb707f9c3
  WARN: 0xffffffffb7084f00: diff end addr for aesni_gcm_dec_avx_gen2 v: 0xffffffffb708a691 k: 0xffffffffb7084f73
  WARN: 0xffffffffb708aa10: diff end addr for aesni_gcm_enc_avx_gen4 v: 0xffffffffb708f844 k: 0xffffffffb708aa83
  WARN: 0xffffffffb708f850: diff end addr for aesni_gcm_dec_avx_gen4 v: 0xffffffffb709486f k: 0xffffffffb708f8c3
  ERR : 0xffffffffb71a6e50: diff name v: perf_pmu_commit_txn.part.98 k: perf_pmu_cancel_txn.part.97
  ERR : 0xffffffffb752e480: diff name v: wakeup_expire_count_show.part.5 k: wakeup_active_count_show.part.7
  ERR : 0xffffffffb76e8d00: diff name v: phys_switch_id_show.part.11 k: phys_port_name_show.part.12
  WARN: Maps only in vmlinux:
   ffffffffb7d7d000-ffffffffb7eeaac8 117d000 [kernel].init.text
   ffffffffb7eeaac8-ffffffffc03ad000 12eaac8 [kernel].exit.text
  WARN: Maps in vmlinux with a different name in kallsyms:
  WARN: Maps only in kallsyms:
  ---- end ----
  vmlinux symtab matches kallsyms: FAILED!
  #

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-n5ml8m7y9x8kzvxt09ipku88@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent e50243bb
...@@ -143,7 +143,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused) ...@@ -143,7 +143,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused)
*/ */
s64 skew = mem_end - UM(pair->end); s64 skew = mem_end - UM(pair->end);
if (llabs(skew) >= page_size) if (llabs(skew) >= page_size)
pr_debug("%#" PRIx64 ": diff end addr for %s v: %#" PRIx64 " k: %#" PRIx64 "\n", pr_debug("WARN: %#" PRIx64 ": diff end addr for %s v: %#" PRIx64 " k: %#" PRIx64 "\n",
mem_start, sym->name, mem_end, mem_start, sym->name, mem_end,
UM(pair->end)); UM(pair->end));
...@@ -161,15 +161,15 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused) ...@@ -161,15 +161,15 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused)
if (UM(pair->start) == mem_start) if (UM(pair->start) == mem_start)
goto next_pair; goto next_pair;
pr_debug("%#" PRIx64 ": diff name v: %s k: %s\n", pr_debug("ERR : %#" PRIx64 ": diff name v: %s k: %s\n",
mem_start, sym->name, pair->name); mem_start, sym->name, pair->name);
} else { } else {
pr_debug("%#" PRIx64 ": diff name v: %s k: %s\n", pr_debug("ERR : %#" PRIx64 ": diff name v: %s k: %s\n",
mem_start, sym->name, first_pair->name); mem_start, sym->name, first_pair->name);
} }
} }
} else } else
pr_debug("%#" PRIx64 ": %s not on kallsyms\n", pr_debug("ERR : %#" PRIx64 ": %s not on kallsyms\n",
mem_start, sym->name); mem_start, sym->name);
err = -1; err = -1;
...@@ -178,7 +178,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused) ...@@ -178,7 +178,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused)
if (!verbose) if (!verbose)
goto out; goto out;
pr_info("Maps only in vmlinux:\n"); pr_info("WARN: Maps only in vmlinux:\n");
for (map = maps__first(maps); map; map = map__next(map)) { for (map = maps__first(maps); map; map = map__next(map)) {
struct map * struct map *
...@@ -198,7 +198,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused) ...@@ -198,7 +198,7 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused)
map__fprintf(map, stderr); map__fprintf(map, stderr);
} }
pr_info("Maps in vmlinux with a different name in kallsyms:\n"); pr_info("WARN: Maps in vmlinux with a different name in kallsyms:\n");
for (map = maps__first(maps); map; map = map__next(map)) { for (map = maps__first(maps); map; map = map__next(map)) {
struct map *pair; struct map *pair;
...@@ -212,17 +212,17 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused) ...@@ -212,17 +212,17 @@ int test__vmlinux_matches_kallsyms(int subtest __maybe_unused)
if (pair->start == mem_start) { if (pair->start == mem_start) {
pair->priv = 1; pair->priv = 1;
pr_info(" %" PRIx64 "-%" PRIx64 " %" PRIx64 " %s in kallsyms as", pr_info("WARN: %" PRIx64 "-%" PRIx64 " %" PRIx64 " %s in kallsyms as",
map->start, map->end, map->pgoff, map->dso->name); map->start, map->end, map->pgoff, map->dso->name);
if (mem_end != pair->end) if (mem_end != pair->end)
pr_info(":\n*%" PRIx64 "-%" PRIx64 " %" PRIx64, pr_info(":\nWARN: *%" PRIx64 "-%" PRIx64 " %" PRIx64,
pair->start, pair->end, pair->pgoff); pair->start, pair->end, pair->pgoff);
pr_info(" %s\n", pair->dso->name); pr_info(" %s\n", pair->dso->name);
pair->priv = 1; pair->priv = 1;
} }
} }
pr_info("Maps only in kallsyms:\n"); pr_info("WARN: Maps only in kallsyms:\n");
maps = &kallsyms.kmaps.maps[type]; maps = &kallsyms.kmaps.maps[type];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment