From patchwork Mon Jan 11 13:48:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Nan X-Patchwork-Id: 59535 Delivered-To: patch@linaro.org Received: by 10.112.130.2 with SMTP id oa2csp2132977lbb; Mon, 11 Jan 2016 06:09:55 -0800 (PST) X-Received: by 10.66.230.201 with SMTP id ta9mr17598597pac.52.1452521394931; Mon, 11 Jan 2016 06:09:54 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h10si19529008pat.126.2016.01.11.06.09.54; Mon, 11 Jan 2016 06:09:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933342AbcAKOGU (ORCPT + 4 others); Mon, 11 Jan 2016 09:06:20 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:41205 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759908AbcAKNti (ORCPT ); Mon, 11 Jan 2016 08:49:38 -0500 Received: from 172.24.1.50 (EHLO szxeml422-hub.china.huawei.com) ([172.24.1.50]) by szxrg03-dlp.huawei.com (MOS 4.4.3-GA FastPath queued) with ESMTP id BUI71793; Mon, 11 Jan 2016 21:49:08 +0800 (CST) Received: from linux-4hy3.site (10.107.193.248) by szxeml422-hub.china.huawei.com (10.82.67.152) with Microsoft SMTP Server id 14.3.235.1; Mon, 11 Jan 2016 21:48:58 +0800 From: Wang Nan To: CC: , , , , , Wang Nan , Arnaldo Carvalho de Melo , Jiri Olsa , Masami Hiramatsu Subject: [PATCH 11/53] perf test: Fix false TEST_OK result for 'perf test hist' Date: Mon, 11 Jan 2016 13:48:02 +0000 Message-ID: <1452520124-2073-12-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <1452520124-2073-1-git-send-email-wangnan0@huawei.com> References: <1452520124-2073-1-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.107.193.248] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090203.5693B2D4.01AA, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: b15f41557e13b1b9e84beb8a5c919ba6 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 Suggested-by: Namhyung Kim Acked-by: Namhyung Kim Cc: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Masami Hiramatsu --- tools/perf/tests/hists_common.c | 5 ----- 1 file changed, 5 deletions(-) -- 1.8.3.4 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;