Thread (90 messages) flat view 90 messages, 8 authors, 2016-01-13
STALE3862d REVIEWED: 1 (1M)

1 review trailer (1 from subsystem maintainers).

[PATCH 11/53] perf test: Fix false TEST_OK result for 'perf test hist'

From: Wang Nan <hidden>
Date: 2016-01-11 14:06:22
Also in: lkml
Subsystem: performance events subsystem, the rest · Maintainers: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds

Commit 71d6de64feddd4b455555326fba2111b3006d9e0 ('perf test: Fix hist
testcases when kptr_restrict is on') solves a double free problem when
'perf test hist' calling setup_fake_machine(). However, the result is
still incorrect. For example:

 $ ./perf test -v 'filtering hist entries'
 25: Test filtering hist entries                              :
 --- start ---
 test child forked, pid 4186
 Cannot create kernel maps
 test child finished with 0
 ---- end ----
 Test filtering hist entries: Ok

In this case the body of this test is not get executed at all, but the
result is 'Ok'.

Actually, in setup_fake_machine() there's no need to create real kernel
maps. What we want is the fake maps. This patch removes the
machine__create_kernel_maps() in setup_fake_machine(), so it won't be
affected by kptr_restrict setting.

Test result:

 $ cat /proc/sys/kernel/kptr_restrict
 1
 $ ~/perf test -v hist
 15: Test matching and linking multiple hists                 :
 --- start ---
 test child forked, pid 24031
 test child finished with 0
 ---- end ----
 Test matching and linking multiple hists: Ok
 [SNIP]

Signed-off-by: Wang Nan <redacted>
Suggested-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Arnaldo Carvalho de Melo <redacted>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <redacted>
---
 tools/perf/tests/hists_common.c | 5 -----
 1 file changed, 5 deletions(-)
diff --git a/tools/perf/tests/hists_common.c b/tools/perf/tests/hists_common.c
index bcfd081..071a8b5 100644
--- a/tools/perf/tests/hists_common.c
+++ b/tools/perf/tests/hists_common.c
@@ -87,11 +87,6 @@ struct machine *setup_fake_machine(struct machines *machines)
 		return NULL;
 	}
 
-	if (machine__create_kernel_maps(machine)) {
-		pr_debug("Cannot create kernel maps\n");
-		return NULL;
-	}
-
 	for (i = 0; i < ARRAY_SIZE(fake_threads); i++) {
 		struct thread *thread;
 
-- 
1.8.3.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help