From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.4 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0DF5C433E0 for ; Wed, 3 Feb 2021 00:49:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 76E1364F6C for ; Wed, 3 Feb 2021 00:49:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233185AbhBCAtF (ORCPT ); Tue, 2 Feb 2021 19:49:05 -0500 Received: from mga05.intel.com ([192.55.52.43]:44425 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232988AbhBCAsw (ORCPT ); Tue, 2 Feb 2021 19:48:52 -0500 IronPort-SDR: jSg1NwVPxN+kYRcjXpuW4I9oeiHyFs5kFJ0Vk3mUxpQCcBrVbiYSIdGuFh/wdkwAGgG2wao3Cl 8NKtzr7TpwWg== X-IronPort-AV: E=McAfee;i="6000,8403,9883"; a="265791496" X-IronPort-AV: E=Sophos;i="5.79,396,1602572400"; d="scan'208";a="265791496" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2021 16:46:58 -0800 IronPort-SDR: e3udEgRwWXpTOOYkEZYE+ai0txKaVx5deGQbdUENoVxjTSAGCCe763setHCSiunMiFFn/Gpca+ a56QA5WyrtUg== X-IronPort-AV: E=Sophos;i="5.79,396,1602572400"; d="scan'208";a="392027400" Received: from yjin15-mobl1.ccr.corp.intel.com (HELO [10.238.4.27]) ([10.238.4.27]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2021 16:46:55 -0800 Subject: Re: [PATCH] perf metricgroup: Fix segmentation fault for metrics with no pmu event To: John Garry , acme@kernel.org, jolsa@kernel.org, peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com Cc: Linux-kernel@vger.kernel.org, ak@linux.intel.com, kan.liang@intel.com, yao.jin@intel.com References: <20210202022424.10787-1-yao.jin@linux.intel.com> <77af7dc5-eac4-4591-cba7-8937c94a058f@huawei.com> From: "Jin, Yao" Message-ID: Date: Wed, 3 Feb 2021 08:46:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <77af7dc5-eac4-4591-cba7-8937c94a058f@huawei.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi John, On 2/2/2021 4:15 PM, John Garry wrote: > On 02/02/2021 02:24, Jin Yao wrote: >> Hit a segmentation fault for DRAM_BW_Use on SKL/KBL. >> >>    # perf stat -M DRAM_BW_Use -a -- sleep 1 >> >>    Segmentation fault (core dumped) >> >>    (gdb) backtrace >>    #0  __strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31 >>    #1  0x0000555c9facd9ce in find_evsel_group (evlist_used=0x555ca16d09c0, >> metric_events=0x555ca16e9160, has_constraint=false, metric_no_merge=false, >>        pctx=0x555ca16c8ff0, perf_evlist=0x555ca16c5340) at util/metricgroup.c:281 >>    #2  metricgroup__setup_events (metric_events_list=0x555ca0044378 , >> perf_evlist=0x555ca16c5340, metric_no_merge=, >>        groups=0x7ffc599193f0) at util/metricgroup.c:323 >>    #3  parse_groups (perf_evlist=perf_evlist@entry=0x555ca16c5340, str=str@entry=0x7ffc599205f8 >> "DRAM_BW_Use", metric_no_group=metric_no_group@entry=false, >>        metric_no_merge=metric_no_merge@entry=false, fake_pmu=fake_pmu@entry=0x0, >> metric_events=metric_events@entry=0x555ca0044378 , >>        map=0x555ca004e780 ) at util/metricgroup.c:1235 >>    #4  0x0000555c9face096 in metricgroup__parse_groups (opt=, str=0x7ffc599205f8 >> "DRAM_BW_Use", metric_no_group=, >>        metric_no_merge=, metric_events=0x555ca0044378 ) at >> util/metricgroup.c:1253 >>    #5  0x0000555c9fbd084e in get_value (p=p@entry=0x7ffc599196b0, opt=0x555ca0043f60 >> , flags=flags@entry=1) at parse-options.c:251 >>    #6  0x0000555c9fbd1aa2 in parse_short_opt (options=, p=) at >> parse-options.c:351 >>    #7  parse_options_step (usagestr=0x7ffc59919830, options=0x555ca0042fa0 , >> ctx=0x7ffc599196b0) at parse-options.c:539 >>    #8  parse_options_subcommand (argc=argc@entry=7, argv=argv@entry=0x7ffc5991e6c0, >> options=options@entry=0x555ca0042fa0 , >>        subcommands=subcommands@entry=0x7ffc59919840, usagestr=usagestr@entry=0x7ffc59919830, >> flags=flags@entry=2) at parse-options.c:654 >>    #9  0x0000555c9fa15154 in cmd_stat (argc=7, argv=0x7ffc5991e6c0) at builtin-stat.c:2136 >>    #10 0x0000555c9fa8bafd in run_builtin (p=0x555ca004df20 , argc=7, >> argv=0x7ffc5991e6c0) at perf.c:312 >>    #11 0x0000555c9f9f413a in handle_internal_command (argv=0x7ffc5991e6c0, argc=7) at perf.c:364 >>    #12 run_argv (argcp=, argv=) at perf.c:408 >>    #13 main (argc=7, argv=0x7ffc5991e6c0) at perf.c:538 >> >> DRAM_BW_Use uses an event 'duration_time' but it doesn't have pmu, so >> ev->leader->pmu_name is NULL for this case. See following code piece: >> >> !strcmp(ev->leader->pmu_name, >>     metric_events[i]->leader->pmu_name) >> >> It causes the segmentation fault. Now check the pmu_name before strcmp. >> >> Fixes: c2337d67199a("perf metricgroup: Fix metrics using aliases covering multiple PMUs") >> Signed-off-by: Jin Yao > > This should be fixed in v5.11-rc6 - please check it. > > 9c880c24cb0d perf metricgroup: Fix for metrics containing duration_time > > Thanks, > John Oh, I see, your patch is in Arnaldo's perf/urgent branch. Sorry about that, I just tested Arnaldo's perf/core branch. :( Thanks Jin Yao