From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39376C4332F for ; Thu, 15 Dec 2022 19:28:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230039AbiLOT22 (ORCPT ); Thu, 15 Dec 2022 14:28:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229948AbiLOT2X (ORCPT ); Thu, 15 Dec 2022 14:28:23 -0500 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F59947310; Thu, 15 Dec 2022 11:28:22 -0800 (PST) Received: by mail-pl1-x631.google.com with SMTP id l10so7893plb.8; Thu, 15 Dec 2022 11:28:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=Tcnm4Zq93QUEsGpL/XwELq+tM+TYBnIw8vL4+pn2Juc=; b=djhlXXsB0/6QWxwYZIivL1rWWU3Jgt1lnyFA1luTJfnAArtoWBQXRYf1klMZtruE3f 3ZClMW21ekZecQNwH+Y6NcYFgh9TI92hIAqpZNrpg429K0Au152qTR1MQdAlvyn+BLUz 79G4lwNmD66L36k76vbaXmpBebWzkEmCqe3LV57J2F92T7li+nnUpDbzAN9TxmimL14t sv48p2QjfyiOcmK/4hJLULCuDMkWusZeq7xINUt9cb171D6nRZazmcCbupZRx2jrJvfN d9NNtNXPNOhSJYysvE4q7A6A8yGkD9Fa/vm6ZskShaknok0qcMQbyH6RvT3uva532tfF MBrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Tcnm4Zq93QUEsGpL/XwELq+tM+TYBnIw8vL4+pn2Juc=; b=4mzEQnl28/zDW5iMfJKkE250aSISMZxzNV7WAxhaIni0ZQSilhbG+1+T1U9swtOcrf 2odoBT60/4TS1X1gaojLY8jr6TaRZIxyYbJ6yydnqGP12teJPpfZHtOGAVDsoQrMNTB2 Rlu4vV3yKXrWhXENkIOlCQqL0YN3VmKQL3OFajViDk77J0qn2Q1EwcYJWqv3uGsi2fmr X59uK3wpcbKEwdV1sIvLp3HGAAwn6CVrIwG/DQM5eol8ZfL2baDPpKTqmQZwEI0en8hA aB9tIoQeN04BTKIan7wTpn3gBDrIJEBLHryc/8fpIa4Yygv2GxEgUlTmcbgomPne3tFZ cM5Q== X-Gm-Message-State: ANoB5pnMRPew/PajQDzMs1/Z4b80juKOfYHznWOJJAaytlCUrdj3FWna FheUo2ISUAaMeOFUKDf9Z/I= X-Google-Smtp-Source: AA0mqf5bzZfmeiVhTJoNjkSfzB2h1Uj3QUZFd2TiAnFN84jx3Bc1gqSryxFYbBsInbEjDMzSkfWf2g== X-Received: by 2002:a17:90a:fe0a:b0:219:8cba:cbbd with SMTP id ck10-20020a17090afe0a00b002198cbacbbdmr30647158pjb.32.1671132501846; Thu, 15 Dec 2022 11:28:21 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:21 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 1/9] perf srcline: Do not return NULL for srcline Date: Thu, 15 Dec 2022 11:28:09 -0800 Message-Id: <20221215192817.2734573-2-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The code assumes non-NULL srcline value always, let's return the usual SRCLINE_UNKNOWN ("??:0") string instead. Signed-off-by: Namhyung Kim --- tools/perf/util/srcline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index af468e3bb6fa..5319efb16a5a 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c @@ -716,7 +716,7 @@ char *__get_srcline(struct dso *dso, u64 addr, struct s= ymbol *sym, =20 if (!show_addr) return (show_sym && sym) ? - strndup(sym->name, sym->namelen) : NULL; + strndup(sym->name, sym->namelen) : SRCLINE_UNKNOWN; =20 if (sym) { if (asprintf(&srcline, "%s+%" PRIu64, show_sym ? sym->name : "", --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7EEAC25B04 for ; Thu, 15 Dec 2022 19:28:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230160AbiLOT2g (ORCPT ); Thu, 15 Dec 2022 14:28:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229955AbiLOT2Y (ORCPT ); Thu, 15 Dec 2022 14:28:24 -0500 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6A1E4AF13; Thu, 15 Dec 2022 11:28:23 -0800 (PST) Received: by mail-pj1-x1034.google.com with SMTP id js9so195289pjb.2; Thu, 15 Dec 2022 11:28:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=tipLqS6lnT+NPiZNAnQKxBxZNV4m8p01r3QYvYfozxo=; b=OQnOVTdSIOnnq3cpTAUZRcQj3kjXX0N3xhDZgDjXC3RAarlzoMtiwDG1g4Q3iHe0Hk HUtW8k7FIWj9dVATdx2xAjLtZXS9odIJ6JSMk7BGooFihyVViCGEWvkWNLwPFPFCHDyF 3koLjxv3dSMRnz3mYaLwsu9bd7OzKo1ORevXHebSpkNVTUPA7CkRk2Uee0nY0p1a+eS2 zUDmeYd2p6RtYOVLiV750h3iXyJ8r6ujriYJkVilBjXkR9VJGJp2so8INGb2BE7isVrN Ly/4zbn/AsO/YXgrScrb+eyB4H+dZbK7MBA5tVbWABHfxqcuZdhiKZ6IzD1s99JHIP1B p7Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tipLqS6lnT+NPiZNAnQKxBxZNV4m8p01r3QYvYfozxo=; b=LtgXagXAdV6dTC0bVwgPlOGLbAq8jA/jMqyIj9y6JxP3inl9R+KavOl3uYo3AGjG10 PquivvrIqy/z02zrUZONGw/ULqvvmK+n1m3riTUr+VEB4LFMu1MwUONyFu6ThuBUrSq/ O0i4zDuOXkRMQoxqXOs26maLNY9lSZvIw8+doozLrvge5DWYdKZWiCmkOQN6bbOnQJ8J Syjz1eIZWay15qw51sdrLz1wPN3nHBrcIHDBJaTZhaRL8BW4IvHMIU60P+x/LDGu0NoH sR7LU8juxtHWbku6CyGVOBzxJQf3Wai2uvyhJut8XVbVCTtWXQbiny2IiEBKarWV3XI5 1WoA== X-Gm-Message-State: ANoB5pnRV2ZeHG4yZobREcrG8VBoHWgtYY0C5CISPUd3OaFOO/oyfLnG jmtiE4ncHvnZBCSW2JAW86U= X-Google-Smtp-Source: AA0mqf4hbL5bGQZvyFF4VjCmmD/ncx8gME3LI/FmJAMq7lqpKbnSu68hkSbUXKwNK82rM9tWAnzbSA== X-Received: by 2002:a17:90a:1b45:b0:219:64ca:49a0 with SMTP id q63-20020a17090a1b4500b0021964ca49a0mr29623814pjq.22.1671132503015; Thu, 15 Dec 2022 11:28:23 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:22 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 2/9] perf report: Ignore SIGPIPE for srcline Date: Thu, 15 Dec 2022 11:28:10 -0800 Message-Id: <20221215192817.2734573-3-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" It can get SIGPIPE when it uses an external addr2line process and the process was terminated unexpectedly. Let's ignore the signal and move on to the next sample. The sample will get the default srcline value anyway. Signed-off-by: Namhyung Kim --- tools/perf/builtin-report.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 2ee2ecca208e..d98112f173b0 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -949,6 +949,7 @@ static int __cmd_report(struct report *rep) struct perf_data *data =3D session->data; =20 signal(SIGINT, sig_handler); + signal(SIGPIPE, SIG_IGN); =20 if (rep->cpu_list) { ret =3D perf_session__cpu_bitmap(session, rep->cpu_list, --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09417C4332F for ; Thu, 15 Dec 2022 19:28:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230233AbiLOT2l (ORCPT ); Thu, 15 Dec 2022 14:28:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229991AbiLOT2Z (ORCPT ); Thu, 15 Dec 2022 14:28:25 -0500 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8EE547310; Thu, 15 Dec 2022 11:28:24 -0800 (PST) Received: by mail-pj1-x1034.google.com with SMTP id v13-20020a17090a6b0d00b00219c3be9830so122588pjj.4; Thu, 15 Dec 2022 11:28:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=yJtu96UaLUbxmrQaw47zeCnhCw3DINxkl6YWOTS0s0A=; b=qhgx6fDuh1uq//jERerz82Du7xXn0/9GhYjPUsjvIF1t/xm7f1Lbka9VnZKKN+VxBp cyKtsGYFN4TR/bn23IlUg/8yMNINkiqCVjUC0AWbQCjaK3ml6Flq8PlNoDgVyXtXkhVq v5acFGQ9D2WjVMuQ8pyeiwCwNIu2TLY7NLgF1tBdxT1kIRhbw5pSJUQDcp6+XnF3HXZH T07wdy/kEZFErte0xjbrzXVZCi1bizWWPc5i1rer5w2FX0Dwcfc3WiMWtmUOmbuRP6AI fFm4oPl7US12fKGCxeoDIX39wk7knGh8K2RPLkvkBu1UjduppoBwc3PYvQaBof4B7kGL UrRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=yJtu96UaLUbxmrQaw47zeCnhCw3DINxkl6YWOTS0s0A=; b=HYocK/IPKds966oN+WWal8IkiBg6pwkfliLGjrCWUaUluwntnkjGx5WbVZOEeqj6Np TIU1AH2kZjgjRavnvPo6i2R9S21VH9vFSWwpSYffI5qpybYGLDvBBUsiGPPAq/ekGzFh vCzq1BISzW8Kr6PCC9vr3m4FX8Qv2VjjVmK000nnvfh21hJ21GOm1ZNnzNCAkNxHkyeq y08XayEgrW56IHtv4Ix+MM4ptYX2FcH1E+aasx7U7QRvh4j0NX89Tbo2LYRxpMh2p61A lMiL155eGRlItg81J0Uzeqzv1CC2IxfM2DDM08uIvX7chSCdx4mOJY7ry1PBR5hleO4e zLIg== X-Gm-Message-State: ANoB5pnm5pFaMd4A7xqYskuoEov8vgC734MbMkEzIwx9A5+9zh1rIsL4 jD89+a3eRPmYFC4erTovRdKnKXY8kT8= X-Google-Smtp-Source: AA0mqf6w64z3r7k1xNh6B1RM4typbb1MMllIiAWQ0juBiASb4wgSyqo809egPFI3anEFOc+DF1zJEw== X-Received: by 2002:a17:90a:9b0b:b0:219:28b7:c580 with SMTP id f11-20020a17090a9b0b00b0021928b7c580mr29605270pjp.22.1671132504206; Thu, 15 Dec 2022 11:28:24 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:23 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 3/9] perf symbol: Add filename__has_section() Date: Thu, 15 Dec 2022 11:28:11 -0800 Message-Id: <20221215192817.2734573-4-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The filename__has_section() is to check if the given section name is in the binary. It'd be used for checking debug info for srcline. Signed-off-by: Namhyung Kim --- tools/perf/util/symbol-elf.c | 28 ++++++++++++++++++++++++++++ tools/perf/util/symbol-minimal.c | 5 +++++ tools/perf/util/symbol.h | 1 + 3 files changed, 34 insertions(+) diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index 80345695b136..96767d1b3f1c 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c @@ -233,6 +233,34 @@ Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep, return NULL; } =20 +bool filename__has_section(const char *filename, const char *sec) +{ + int fd; + Elf *elf; + GElf_Ehdr ehdr; + GElf_Shdr shdr; + bool found =3D false; + + fd =3D open(filename, O_RDONLY); + if (fd < 0) + return false; + + elf =3D elf_begin(fd, PERF_ELF_C_READ_MMAP, NULL); + if (elf =3D=3D NULL) + goto out; + + if (gelf_getehdr(elf, &ehdr) =3D=3D NULL) + goto elf_out; + + found =3D !!elf_section_by_name(elf, &ehdr, &shdr, sec, NULL); + +elf_out: + elf_end(elf); +out: + close(fd); + return found; +} + static int elf_read_program_header(Elf *elf, u64 vaddr, GElf_Phdr *phdr) { size_t i, phdrnum; diff --git a/tools/perf/util/symbol-minimal.c b/tools/perf/util/symbol-mini= mal.c index f9eb0bee7f15..de84da3b0d96 100644 --- a/tools/perf/util/symbol-minimal.c +++ b/tools/perf/util/symbol-minimal.c @@ -385,3 +385,8 @@ char *dso__demangle_sym(struct dso *dso __maybe_unused, { return NULL; } + +bool filename__has_section(const char *filename, const char *sec) +{ + return false; +} diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index e297de14184c..f735108c4d4e 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h @@ -165,6 +165,7 @@ int modules__parse(const char *filename, void *arg, u64 start, u64 size)); int filename__read_debuglink(const char *filename, char *debuglink, size_t size); +bool filename__has_section(const char *filename, const char *sec); =20 struct perf_env; int symbol__init(struct perf_env *env); --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 901DCC4332F for ; Thu, 15 Dec 2022 19:28:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230271AbiLOT2q (ORCPT ); Thu, 15 Dec 2022 14:28:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36406 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230024AbiLOT20 (ORCPT ); Thu, 15 Dec 2022 14:28:26 -0500 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E015A47310; Thu, 15 Dec 2022 11:28:25 -0800 (PST) Received: by mail-pl1-x62a.google.com with SMTP id d7so1408pll.9; Thu, 15 Dec 2022 11:28:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=PmvCh9yWugB6d0aTmM0VqqANfCxzP4Vie55qPJtB7BM=; b=CeLAmgOiXHIHJn83Qhm5ixy1ObxMdDGRJ4N7S+Zg1RY0kHpTS85+DNblRtc3BhUPZl m1V9YMC5Z+MCEYu1fiNjjpzZUdzLSb6EFz+USZtexhudhKn5jgM8y4qiBM2ZPv4SfMOU gxfgxDlGPbnRBprjU8nBze+xAloxq5caTp+RufjQfwQ0ZJmyQpW4l8HgUczdUwq8nECy K4ZsjIDeNuYH0u11lFU+yyEg5nz3x/r0oUC/Ul0wvhEdyquwGNbHBrawfWC1y/d2uA2x WpH7uEQI1eqQMsrq+ENkq0YwaCxHl37umCz/GaYlXhBRvH7g5A8mfYUlRXMbOYJwQ50m 1Dsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PmvCh9yWugB6d0aTmM0VqqANfCxzP4Vie55qPJtB7BM=; b=uF0KJBtRoNfsnyvNVQXlP9fN58AZvZ7u7ggvPPS8fdSG87UtXKyZinx0VLp5w5rZZj WTrlro+04h49tbm5aBPtVLYXYYFvlyL3i2qJXL+3O8ynpDV3xjUgzPdU7T/UeVoczN2y mWr64fCID/1q2Xt7gt/s1mDuDLqt5WB++JImVzw/IcfapjXddj3m2PZzTcRgEIp1bizV z47QmPKmb/Df0ddtdTt83ZIpx0ceYXzO5W8/Zm2FfhizjIUxfvoIax3879giERUd/RTq YHfV/AFwukExBlnXQquee3Bl/646Riq3hycN+/kRIiY+c/UCiHrCpRIVYw/EQvKcN6P/ cLrw== X-Gm-Message-State: ANoB5plIfaUtXMXQqXaN9mYDdXs/Zc1KQyoJKriNGxmTjz4G33QX7RcT 0sxFcDc4d6Oy5OCrgzH9pV0= X-Google-Smtp-Source: AA0mqf4wtz2yafBiL61XmWmsglECRXYgg003yapMm9cTEisqZTK2L7YZY2iN9FEs9nV39FaG20d0MQ== X-Received: by 2002:a17:90a:740e:b0:219:78e:9c3c with SMTP id a14-20020a17090a740e00b00219078e9c3cmr30076808pjg.39.1671132505350; Thu, 15 Dec 2022 11:28:25 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:25 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 4/9] perf srcline: Skip srcline if .debug_line is missing Date: Thu, 15 Dec 2022 11:28:12 -0800 Message-Id: <20221215192817.2734573-5-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The srcline info is from the .debug_line section. No need to setup addr2line subprocess if the section is missing. Signed-off-by: Namhyung Kim --- tools/perf/util/srcline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index 5319efb16a5a..2c212e2e1b65 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c @@ -550,6 +550,9 @@ static int addr2line(const char *dso_name, u64 addr, size_t inline_count =3D 0; =20 if (!a2l) { + if (!filename__has_section(dso_name, ".debug_line")) + goto out; + dso->a2l =3D addr2line_subprocess_init(dso_name); a2l =3D dso->a2l; } --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E955C4332F for ; Thu, 15 Dec 2022 19:28:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230301AbiLOT2t (ORCPT ); Thu, 15 Dec 2022 14:28:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230043AbiLOT21 (ORCPT ); Thu, 15 Dec 2022 14:28:27 -0500 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EDFFB4AF13; Thu, 15 Dec 2022 11:28:26 -0800 (PST) Received: by mail-pl1-x62f.google.com with SMTP id 4so36692plj.3; Thu, 15 Dec 2022 11:28:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=6mw/wiOLYoXrXq7I0XRVNFT/hMNwNwhuLxRKV5JN7S8=; b=e7QSbOZJCoCBHRDDhIIsWJbh9O3T0nRnBRdCY1f9w67KpjfbuGUtOpHOLjxP6hqaac dVHRLk15l31Q5yvmpjwvPE2wVJFQNpR5r1Pau2VMRwL2agIQ30eoijGfz2FrLucFUleU 6FyV+1QEv4XEegfd3afqrxFOPSFDQYGeJv+e61aVn87uheIWTfEl81h/4XXdK1GMYXeu LUxQvqfbzeN4IZMP8NVP6krYJUetkbq8unNfHi1l2R1y8xAqEC/0I9bzoz0aLEpF2Ege Skut7ltKgXlKfn1Yv/gzUyPL1S5TE/OmISbOLHxi7PHX4unRVqDWW5RbY0EkGr7Riife +Jbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6mw/wiOLYoXrXq7I0XRVNFT/hMNwNwhuLxRKV5JN7S8=; b=PP1OgpByVecRCN3HWWYZZGKGcyYrUq67Wg72beA59fz1dh1Q6wTOpItV+f7TEx/OJp E0e97tjOTqr9xLib0I78RpRnDpW8Vy91TfqXwA6xFn5eyrKfgX5/ppYLobjAIARu6VbV W34cLl9ifGHIuikvH3g5U+XFEW78/AL4a2JBCuv0Dfizcd2OO9JxjMCUGjIdmFi7pWZs so1iU+6MSHNg7XI6iGYn183k2BdWfZ9DRNNYXAx49asfoULdVqVVa7YOVhyaP/oizLeR gnpM9aTmqwRX0knQMEWIj+CKpvxs3L9lHjb6IAP34A5D5sSvYad4sT0RNEM2wZ2fqW7f WwOg== X-Gm-Message-State: AFqh2krlCAz1kFvKll57HT+UPklzVUSA8D4Uj0X3FaRpdkJ+W0yVfbva oPdOXt4DuDlhvmXcqFtmpbWjHFlLFpc= X-Google-Smtp-Source: AMrXdXvjescNV2ytA1ifFB/iIsLxSPB5ix9YJ5UuHq5FTUz0WZnwrHLnztWZLr7cuaKPpMmHmfRA+A== X-Received: by 2002:a17:90a:d993:b0:223:415d:5441 with SMTP id d19-20020a17090ad99300b00223415d5441mr5235510pjv.21.1671132506485; Thu, 15 Dec 2022 11:28:26 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:26 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 5/9] perf srcline: Conditionally suppress addr2line warnings Date: Thu, 15 Dec 2022 11:28:13 -0800 Message-Id: <20221215192817.2734573-6-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" It has symbol_conf.disable_add2line_warn to suppress some warnings. Let's make it consistent with others. Signed-off-by: Namhyung Kim --- tools/perf/util/srcline.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index 2c212e2e1b65..33321867416b 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c @@ -573,13 +573,15 @@ static int addr2line(const char *dso_name, u64 addr, * "??"/"??:0" lines. */ if (fprintf(a2l->to_child, "%016"PRIx64"\n,\n", addr) < 0 || fflush(a2l->= to_child) !=3D 0) { - pr_warning("%s %s: could not send request\n", __func__, dso_name); + if (!symbol_conf.disable_add2line_warn) + pr_warning("%s %s: could not send request\n", __func__, dso_name); goto out; } =20 switch (read_addr2line_record(a2l, &record_function, &record_filename, &r= ecord_line_nr)) { case -1: - pr_warning("%s %s: could not read first record\n", __func__, dso_name); + if (!symbol_conf.disable_add2line_warn) + pr_warning("%s %s: could not read first record\n", __func__, dso_name); goto out; case 0: /* @@ -588,14 +590,17 @@ static int addr2line(const char *dso_name, u64 addr, */ switch (read_addr2line_record(a2l, NULL, NULL, NULL)) { case -1: - pr_warning("%s %s: could not read delimiter record\n", __func__, dso_na= me); + if (!symbol_conf.disable_add2line_warn) + pr_warning("%s %s: could not read delimiter record\n", + __func__, dso_name); break; case 0: /* As expected. */ break; default: - pr_warning("%s %s: unexpected record instead of sentinel", - __func__, dso_name); + if (!symbol_conf.disable_add2line_warn) + pr_warning("%s %s: unexpected record instead of sentinel", + __func__, dso_name); break; } goto out; --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4521C4332F for ; Thu, 15 Dec 2022 19:28:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230327AbiLOT2x (ORCPT ); Thu, 15 Dec 2022 14:28:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36434 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230077AbiLOT23 (ORCPT ); Thu, 15 Dec 2022 14:28:29 -0500 Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A98E84B986; Thu, 15 Dec 2022 11:28:28 -0800 (PST) Received: by mail-pl1-x632.google.com with SMTP id n4so47874plp.1; Thu, 15 Dec 2022 11:28:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=2SWq8tpcCrwysvBsmnobWfCEN7jq3OKGDHoAjUmZcKM=; b=aI78gKJvL9S+95167GkI3Ge1ockEbEzp6hvrNPojeC288sACCfBe0NfmVWti/N6Qra z4PwACXjYHvbob9q1bOpJx39/U8LDs+vQxdT7QWb3jMkdQhb0/efj5n6SjPqwcsvzfla ajcrukOfh0ikfnFu0QObh1O4VLNk1FnlXRSnpZKRYu/qQ7lgyu1WCsBbLq+lR49wkMh9 M73PoOxV6lhJROKx4UNK81Vc1Zr5v90FbtUiYeV4uLvsLoScPPhNiDIrGvc/dDb2aXNB +v3NkQtUNyqZD3vCHf32vrQYYjbDr5T7WpfFhf/Ke3owKbPfx0KkvXWuI2/7As6O89Y8 eRFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2SWq8tpcCrwysvBsmnobWfCEN7jq3OKGDHoAjUmZcKM=; b=cb95U2ZbXl1xtLadDkjJNz8swlIjSLAHr0PH3bY9ghzvCxdxpu2BHWhce4bwQihHL5 13oTQrKktUQAPIQfHCxyTUzYfrhv/CeznPMA2uOKAduECy6Qu3RwuapkgPJNbAIjLAtl Ihj0pU3BY90T+83tqXmxNL+D6QipOJ5n4VfSI6YZbvTSSAKczg3Wm0WqNyz/D55z41yq vS56HaAN+CorBg5c3ObzF6wPjf86ONxXHzxFGCXW3v9ii1A//WiWFUKcu3mjxDUvNvdQ yfSvI7ZaU8pX4veQ6rkTi8TfXK7mgeGCjSb8RgdJjOe4VKhtAogBlFHwalUFryYJGUKh CaYg== X-Gm-Message-State: ANoB5plIinCPsC7sUI3RcxJ4IXM2KdwwxDjnLK5UvA+JVg7RdCm5d/jF QYU/LY7rV7AZAqAqhnSTtUQ= X-Google-Smtp-Source: AA0mqf6zi7kYyr9raMdbSzI8wyUMKPLqfFq/52pamjhXxaXRct+BGGIiFpFX/cdZWJIA+F8BeouW3g== X-Received: by 2002:a17:90a:348e:b0:219:8cbb:c158 with SMTP id p14-20020a17090a348e00b002198cbbc158mr30920771pjb.5.1671132507614; Thu, 15 Dec 2022 11:28:27 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:27 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 6/9] perf hist: Add perf_hpp_fmt->init() callback Date: Thu, 15 Dec 2022 11:28:14 -0800 Message-Id: <20221215192817.2734573-7-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In __hists__insert_output_entry(), it calls fmt->sort() for dynamic entries with NULL to update column width for tracepoint fields. But it's a hacky abuse of the sort callback, better to have a proper callback for that. I'll add more use cases later. Signed-off-by: Namhyung Kim --- tools/perf/util/hist.c | 10 +++++----- tools/perf/util/hist.h | 1 + tools/perf/util/sort.c | 31 ++++++++++++++++++++++++++----- tools/perf/util/sort.h | 1 + 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 17a05e943b44..b6e4b4edde43 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c @@ -1781,8 +1781,8 @@ static void hierarchy_insert_output_entry(struct rb_r= oot_cached *root, =20 /* update column width of dynamic entry */ perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { - if (perf_hpp__is_dynamic_entry(fmt)) - fmt->sort(fmt, he, NULL); + if (fmt->init) + fmt->init(fmt, he); } } =20 @@ -1879,10 +1879,10 @@ static void __hists__insert_output_entry(struct rb_= root_cached *entries, rb_link_node(&he->rb_node, parent, p); rb_insert_color_cached(&he->rb_node, entries, leftmost); =20 + /* update column width of dynamic entries */ perf_hpp_list__for_each_sort_list(&perf_hpp_list, fmt) { - if (perf_hpp__is_dynamic_entry(fmt) && - perf_hpp__defined_dynamic_entry(fmt, he->hists)) - fmt->sort(fmt, he, NULL); /* update column width */ + if (fmt->init) + fmt->init(fmt, he); } } =20 diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h index ebd8a8f783ee..d93a4e510dc7 100644 --- a/tools/perf/util/hist.h +++ b/tools/perf/util/hist.h @@ -272,6 +272,7 @@ struct perf_hpp_fmt { struct hists *hists, int line, int *span); int (*width)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists); + void (*init)(struct perf_hpp_fmt *fmt, struct hist_entry *he); int (*color)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he); int (*entry)(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 0ecc2cb13792..f6333b3dca35 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -2251,6 +2251,19 @@ static void hse_free(struct perf_hpp_fmt *fmt) free(hse); } =20 +static void hse_init(struct perf_hpp_fmt *fmt, struct hist_entry *he) +{ + struct hpp_sort_entry *hse; + + if (!perf_hpp__is_sort_entry(fmt)) + return; + + hse =3D container_of(fmt, struct hpp_sort_entry, hpp); + + if (hse->se->se_init) + hse->se->se_init(he); +} + static struct hpp_sort_entry * __sort_dimension__alloc_hpp(struct sort_dimension *sd, int level) { @@ -2274,6 +2287,7 @@ __sort_dimension__alloc_hpp(struct sort_dimension *sd= , int level) hse->hpp.sort =3D __sort__hpp_sort; hse->hpp.equal =3D __sort__hpp_equal; hse->hpp.free =3D hse_free; + hse->hpp.init =3D hse_init; =20 INIT_LIST_HEAD(&hse->hpp.list); INIT_LIST_HEAD(&hse->hpp.sort_list); @@ -2556,11 +2570,6 @@ static int64_t __sort__hde_cmp(struct perf_hpp_fmt *= fmt, =20 hde =3D container_of(fmt, struct hpp_dynamic_entry, hpp); =20 - if (b =3D=3D NULL) { - update_dynamic_len(hde, a); - return 0; - } - field =3D hde->field; if (field->flags & TEP_FIELD_IS_DYNAMIC) { unsigned long long dyn; @@ -2610,6 +2619,17 @@ static void hde_free(struct perf_hpp_fmt *fmt) free(hde); } =20 +static void __sort__hde_init(struct perf_hpp_fmt *fmt, struct hist_entry *= he) +{ + struct hpp_dynamic_entry *hde; + + if (!perf_hpp__is_dynamic_entry(fmt)) + return; + + hde =3D container_of(fmt, struct hpp_dynamic_entry, hpp); + update_dynamic_len(hde, he); +} + static struct hpp_dynamic_entry * __alloc_dynamic_entry(struct evsel *evsel, struct tep_format_field *field, int level) @@ -2632,6 +2652,7 @@ __alloc_dynamic_entry(struct evsel *evsel, struct tep= _format_field *field, hde->hpp.entry =3D __sort__hde_entry; hde->hpp.color =3D NULL; =20 + hde->hpp.init =3D __sort__hde_init; hde->hpp.cmp =3D __sort__hde_cmp; hde->hpp.collapse =3D __sort__hde_cmp; hde->hpp.sort =3D __sort__hde_cmp; diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h index 04ff8b61a2a7..921715e6aec4 100644 --- a/tools/perf/util/sort.h +++ b/tools/perf/util/sort.h @@ -282,6 +282,7 @@ struct sort_entry { int (*se_snprintf)(struct hist_entry *he, char *bf, size_t size, unsigned int width); int (*se_filter)(struct hist_entry *he, int type, const void *arg); + void (*se_init)(struct hist_entry *he); u8 se_width_idx; }; =20 --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D0BEC4332F for ; Thu, 15 Dec 2022 19:28:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230332AbiLOT24 (ORCPT ); Thu, 15 Dec 2022 14:28:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230091AbiLOT2b (ORCPT ); Thu, 15 Dec 2022 14:28:31 -0500 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5085847310; Thu, 15 Dec 2022 11:28:29 -0800 (PST) Received: by mail-pl1-x629.google.com with SMTP id m4so31385pls.4; Thu, 15 Dec 2022 11:28:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=rlyNdOzS6lefhSSM/VlTz3GSPTVPpMK1oqgfJv5rmjM=; b=ZgWLJedYJWqeU21kwV1U4jSCjyytuO7e/mc+L1bD3knCJBNvT/LsCEKT6X6UdBTzHr r2krlBSmYgKXcS0AFPDmeL8MvSFznFYDZ/ok4Mqk+lbvEWY9B6VFOfSxJzyWmKockKtp JJGmfdApCm1DAAzmEixI6JdkgSIFJFJELW0PAIwqodbenS2sESq41Oi6C16eoSLRmes5 +Ibka/Nv7i+L2jgddMoYZILVURo6IylI2QYDbVLXUCZdj/LFw+Xpn14mtUg1C+TnxG0x WiEKYPZP88XIbw1UuhG53wklEG/ttt2T7wvXTcY2/Oy8PH90Kh4argzwCNvb25grFv4i qPpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rlyNdOzS6lefhSSM/VlTz3GSPTVPpMK1oqgfJv5rmjM=; b=NnGW9fpBhG//zG61/eYqlXCRp8dSdQqxz94NKiuwz8Sh4F6eMWOSEfnDsAcIX/EBlr SzvG1Dh78RebHRKBNwUQgFfFeP+ltKCeNKpnmB/U7gdYRoNozO6ju0+ZbTa2CDnB4vB5 7oo2yRY7Gl3udR/8qTilW2DFSW5rrGuDsNWqjY2xVveARgHKrTEEVevS9WvP1+h8+TH7 lfASYj4JP3AvrbmS6IEWQ7gnqa67R0CIRrBReOjropmBscDeaAOFwchCldpPsX/ICGpy X3emMx4PMM+q+xJnmRypd1UrEUWA31M3uTnpiNU8RxeLR2N2Yvj0OURa3HdbGAyPatec rY3g== X-Gm-Message-State: ANoB5pn2uly5KD0zRHAErSTnN2fiDu22xjWugHdF06l/L1u7qYPXihEO idMmtjR4yEvXLfVMM8fUuto= X-Google-Smtp-Source: AA0mqf4mJLL40VGDcnosZch6InOpLE0yZmjOD9tt56/lEPgL4rxXCVkK2uJ1B9JBg7ErCtkXg3GEgQ== X-Received: by 2002:a17:90b:2315:b0:219:8b27:e065 with SMTP id mt21-20020a17090b231500b002198b27e065mr36884986pjb.17.1671132508708; Thu, 15 Dec 2022 11:28:28 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:28 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 7/9] perf hist: Improve srcline sort key performance Date: Thu, 15 Dec 2022 11:28:15 -0800 Message-Id: <20221215192817.2734573-8-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The sort_entry->cmp() will be called for eventy sample data to find a matching entry. When it has 'srcline' sort key, that means it needs to call addr2line or libbfd everytime. This is not optimal because many samples will have same address and it just can call addr2line once. So postpone the actual srcline check to the sort_entry->collpase() and compare addresses in ->cmp(). Also it needs to add ->init() callback to make sure it has srcline info. If a sample has a unique data, chances are the entry can be sorted out by other (previous) keys and callbacks in sort_srcline never called. Signed-off-by: Namhyung Kim --- tools/perf/util/sort.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index f6333b3dca35..913045c5b2b2 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -373,6 +373,18 @@ char *hist_entry__srcline(struct hist_entry *he) =20 static int64_t sort__srcline_cmp(struct hist_entry *left, struct hist_entry *right) +{ + int64_t ret; + + ret =3D _sort__addr_cmp(left->ip, right->ip); + if (ret) + return ret; + + return sort__dso_cmp(left, right); +} + +static int64_t +sort__srcline_collapse(struct hist_entry *left, struct hist_entry *right) { if (!left->srcline) left->srcline =3D hist_entry__srcline(left); @@ -382,18 +394,31 @@ sort__srcline_cmp(struct hist_entry *left, struct his= t_entry *right) return strcmp(right->srcline, left->srcline); } =20 -static int hist_entry__srcline_snprintf(struct hist_entry *he, char *bf, - size_t size, unsigned int width) +static int64_t +sort__srcline_sort(struct hist_entry *left, struct hist_entry *right) +{ + return sort__srcline_collapse(left, right); +} + +static void +sort__srcline_init(struct hist_entry *he) { if (!he->srcline) he->srcline =3D hist_entry__srcline(he); +} =20 +static int hist_entry__srcline_snprintf(struct hist_entry *he, char *bf, + size_t size, unsigned int width) +{ return repsep_snprintf(bf, size, "%-.*s", width, he->srcline); } =20 struct sort_entry sort_srcline =3D { .se_header =3D "Source:Line", .se_cmp =3D sort__srcline_cmp, + .se_collapse =3D sort__srcline_collapse, + .se_sort =3D sort__srcline_sort, + .se_init =3D sort__srcline_init, .se_snprintf =3D hist_entry__srcline_snprintf, .se_width_idx =3D HISTC_SRCLINE, }; --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5E1AC4332F for ; Thu, 15 Dec 2022 19:29:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230343AbiLOT3C (ORCPT ); Thu, 15 Dec 2022 14:29:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230111AbiLOT2b (ORCPT ); Thu, 15 Dec 2022 14:28:31 -0500 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39F104B9A1; Thu, 15 Dec 2022 11:28:30 -0800 (PST) Received: by mail-pl1-x62f.google.com with SMTP id 4so36842plj.3; Thu, 15 Dec 2022 11:28:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=lRJhsYD6Q8d3CjTB733ncypYkegZvAGinKhexPwhiRs=; b=Om7CYEY7dnjsSshVnzhztwQx5Wx7srg6j2+WpPqCN1ZKgkMHQ+mEVG7lE5zle0hmAX nCzlvchTjD5/hNptvIT4pQ+UZUN/CW/FWrWpVLWhA+ayzc3eCrGt0YO2W9ffWBNab+Mu p6SHupNBRrQ1Kb1viujAuVgjFmzgudeA0wG2ewKq89ti4t0UtJi/vhL33gBKdYCZxA0K D2C1udzxGBPCVyQgPIY7hHVHq398+47QYU7Ux79H+R6IPwAh4DXUAOK7UB1636U63hMY 5Q9BUOr+PW6XZ5SGfzRfsNyMI18hWUkGihMjfqh11Avuq22i1j0gRIZn2lGTm1ONeO5I aCYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lRJhsYD6Q8d3CjTB733ncypYkegZvAGinKhexPwhiRs=; b=U5rVzb+10U/ins+bLuoNWSQBpi7cqoiy/H7H7JkBmbcfPL4B7wC7eYdUoiNUeceo/f KRJOQZpULeSYzQq8sDy8JVt2dXOOn+IJ9xVCxFQfwn33jpFAQ+ZibDkJX+LlVNlXQo/w bPVe7hVDlTvVj+yfC9jNDKQT6MfxYI/s4V6vT2fXgcDyE+f2IQSNTIq441ke9D4E1JRH T+kHnlrWU6GaK6wzG1sr6p7eOiZO2sv4JFSQyexbue5AEGwsOvRDtj+LtSoV6N672kg/ bOrwNuquYYqx3fAbcQlJnptMsQouv3bJ0A+Pj/9/sg8W48lYttdK3tzGeBUR5jnfDxWy yqMg== X-Gm-Message-State: ANoB5pmJPH5mKjYxhhkV/74h3txBd2xkeuYzXwp8g3RJ75vct4IRrvDS wTCQ3O0jC9l/cpVBaos0xXs= X-Google-Smtp-Source: AA0mqf5Lm+1UkoW8s8mQkmLI6b68vjTrnFHEfYIFV0K6KAEpTWuAocOSKYWdpne0rjHZ1QELAXX6+w== X-Received: by 2002:a05:6a20:9589:b0:9d:efbf:785d with SMTP id iu9-20020a056a20958900b0009defbf785dmr10620141pzb.18.1671132509823; Thu, 15 Dec 2022 11:28:29 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:29 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 8/9] perf hist: Improve srcfile sort key performance Date: Thu, 15 Dec 2022 11:28:16 -0800 Message-Id: <20221215192817.2734573-9-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Likewise, modify ->cmp() callback to compare sample address and map address. And add ->collapse() and ->sort() to check the actual srcfile string. Also add ->init() to make sure it has the srcfile. Signed-off-by: Namhyung Kim --- tools/perf/util/sort.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 913045c5b2b2..c290539dcf43 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -569,18 +569,41 @@ sort__srcfile_cmp(struct hist_entry *left, struct his= t_entry *right) return strcmp(right->srcfile, left->srcfile); } =20 -static int hist_entry__srcfile_snprintf(struct hist_entry *he, char *bf, - size_t size, unsigned int width) +static int64_t +sort__srcfile_collapse(struct hist_entry *left, struct hist_entry *right) +{ + if (!left->srcfile) + left->srcfile =3D hist_entry__get_srcfile(left); + if (!right->srcfile) + right->srcfile =3D hist_entry__get_srcfile(right); + + return strcmp(right->srcfile, left->srcfile); +} + +static int64_t +sort__srcfile_sort(struct hist_entry *left, struct hist_entry *right) +{ + return sort__srcfile_collapse(left, right); +} + +static void sort__srcfile_init(struct hist_entry *he) { if (!he->srcfile) he->srcfile =3D hist_entry__get_srcfile(he); +} =20 +static int hist_entry__srcfile_snprintf(struct hist_entry *he, char *bf, + size_t size, unsigned int width) +{ return repsep_snprintf(bf, size, "%-.*s", width, he->srcfile); } =20 struct sort_entry sort_srcfile =3D { .se_header =3D "Source File", .se_cmp =3D sort__srcfile_cmp, + .se_collapse =3D sort__srcfile_collapse, + .se_sort =3D sort__srcfile_sort, + .se_init =3D sort__srcfile_init, .se_snprintf =3D hist_entry__srcfile_snprintf, .se_width_idx =3D HISTC_SRCFILE, }; --=20 2.39.0.314.g84b9a713c41-goog From nobody Wed Sep 17 19:23:43 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 23A76C4332F for ; Thu, 15 Dec 2022 19:29:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230368AbiLOT3G (ORCPT ); Thu, 15 Dec 2022 14:29:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36492 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230156AbiLOT2f (ORCPT ); Thu, 15 Dec 2022 14:28:35 -0500 Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8446550D50; Thu, 15 Dec 2022 11:28:31 -0800 (PST) Received: by mail-pl1-x630.google.com with SMTP id x2so6599227plb.13; Thu, 15 Dec 2022 11:28:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=PJJL5CU7ptHXr+iHLPpq+YgdyRtPuip5im73Jo4lYDM=; b=R2FycQjgluMgwJfWkdtp6gE6fj/eN6kjSEw5X/LK9opDYuWTGtP0YQ3rQKEu89EyHs BqrSj7SZ8qJhdlgx5bPS0DVtBA9iMVJPIotietniCz6iDuatLriqtkqUWiOT0JWa2tq6 Ixq0zD90mL6WORlCLzq0DF9V5FzWZTjGu05zubAEAJ3A6pFXcFiNJ8wH6H4bD8wChEHc k8wIVz6qFxyDn+MABc6A2UEFSm6O4TSFDujsypFP+xfu/k5ea2vYIsDgswOUrOUJ71Id N8jI9D4g5J11rnc+vrr3WOcLZ/KDJ0o7HJ8uVpkHgNAmBWv5H3rlKiOwkr6nb3XrQlD5 mUyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PJJL5CU7ptHXr+iHLPpq+YgdyRtPuip5im73Jo4lYDM=; b=zz/7QdIRsCbUcLwKw8toVonCmQClZm/Wg67+X4XCuXOC6Gdmj4ObcOr3Tlkc72peMd UTlc0hhfgAml/Jcyd+aJeK+H0yx+xk39HvuhZ47u8sM7owXw9Uxxb6BaPisMIPfAejEi qx7kvOJXj1DrZCXQd2cjQRLCBBEdD2hw1RIKIWEwYDOlCYbjsn7kQX18fPSWsQja5yH7 sw+ejTU84oCLo7ZXOi0XHDylLgLFH0jvKhQ2z2/VhdhichQpCNnqi7CPkwH7azBVu3Ku zX8qlCQHm6A5PGfpOBin2kIUkNGl6dDnqrNtyRAOM6rg5fpjHd2wUolIsZj3ZaYLrmwE HoRA== X-Gm-Message-State: ANoB5pksDIpvHzvvnQzxT+NSa1rmgqn6JNt4AhzTbmLYyOpjspvd4u/I XTvbfgDgq0IVaHpemXVREDo= X-Google-Smtp-Source: AA0mqf7CFFUjtazWNMYYE0NTy5PeACLrWtOYDrA8hhyzfJTL1ACo2vMlrBB8yp+k5/6RdzRv5yM0FA== X-Received: by 2002:a17:90a:e608:b0:219:705e:67b2 with SMTP id j8-20020a17090ae60800b00219705e67b2mr30567281pjy.10.1671132510943; Thu, 15 Dec 2022 11:28:30 -0800 (PST) Received: from youngsil.svl.corp.google.com ([2620:15c:2d4:203:ecc1:3e44:be34:129c]) by smtp.gmail.com with ESMTPSA id ep14-20020a17090ae64e00b00219cf5c3829sm3475129pjb.57.2022.12.15.11.28.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 11:28:30 -0800 (PST) Sender: Namhyung Kim From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Andi Kleen , Milian Wolff , Leo Yan Subject: [PATCH 9/9] perf hist: Improve srcline_{from,to} sort key performance Date: Thu, 15 Dec 2022 11:28:17 -0800 Message-Id: <20221215192817.2734573-10-namhyung@kernel.org> X-Mailer: git-send-email 2.39.0.314.g84b9a713c41-goog In-Reply-To: <20221215192817.2734573-1-namhyung@kernel.org> References: <20221215192817.2734573-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Likewise, modify ->cmp() callback to compare sample address and map address. And add ->collapse() and ->sort() to check the actual srcfile string. Also add ->init() to make sure it has the srcfile. Signed-off-by: Namhyung Kim --- tools/perf/util/sort.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index c290539dcf43..e188f74698dd 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -432,6 +432,12 @@ static char *addr_map_symbol__srcline(struct addr_map_= symbol *ams) =20 static int64_t sort__srcline_from_cmp(struct hist_entry *left, struct hist_entry *right) +{ + return left->branch_info->from.addr - right->branch_info->from.addr; +} + +static int64_t +sort__srcline_from_collapse(struct hist_entry *left, struct hist_entry *ri= ght) { if (!left->branch_info->srcline_from) left->branch_info->srcline_from =3D addr_map_symbol__srcline(&left->bran= ch_info->from); @@ -442,6 +448,18 @@ sort__srcline_from_cmp(struct hist_entry *left, struct= hist_entry *right) return strcmp(right->branch_info->srcline_from, left->branch_info->srclin= e_from); } =20 +static int64_t +sort__srcline_from_sort(struct hist_entry *left, struct hist_entry *right) +{ + return sort__srcline_from_collapse(left, right); +} + +static void sort__srcline_from_init(struct hist_entry *he) +{ + if (!he->branch_info->srcline_from) + he->branch_info->srcline_from =3D addr_map_symbol__srcline(&he->branch_i= nfo->from); +} + static int hist_entry__srcline_from_snprintf(struct hist_entry *he, char *= bf, size_t size, unsigned int width) { @@ -451,6 +469,9 @@ static int hist_entry__srcline_from_snprintf(struct his= t_entry *he, char *bf, struct sort_entry sort_srcline_from =3D { .se_header =3D "From Source:Line", .se_cmp =3D sort__srcline_from_cmp, + .se_collapse =3D sort__srcline_from_collapse, + .se_sort =3D sort__srcline_from_sort, + .se_init =3D sort__srcline_from_init, .se_snprintf =3D hist_entry__srcline_from_snprintf, .se_width_idx =3D HISTC_SRCLINE_FROM, }; @@ -459,6 +480,12 @@ struct sort_entry sort_srcline_from =3D { =20 static int64_t sort__srcline_to_cmp(struct hist_entry *left, struct hist_entry *right) +{ + return left->branch_info->to.addr - right->branch_info->to.addr; +} + +static int64_t +sort__srcline_to_collapse(struct hist_entry *left, struct hist_entry *righ= t) { if (!left->branch_info->srcline_to) left->branch_info->srcline_to =3D addr_map_symbol__srcline(&left->branch= _info->to); @@ -469,6 +496,18 @@ sort__srcline_to_cmp(struct hist_entry *left, struct h= ist_entry *right) return strcmp(right->branch_info->srcline_to, left->branch_info->srcline_= to); } =20 +static int64_t +sort__srcline_to_sort(struct hist_entry *left, struct hist_entry *right) +{ + return sort__srcline_to_collapse(left, right); +} + +static void sort__srcline_to_init(struct hist_entry *he) +{ + if (!he->branch_info->srcline_to) + he->branch_info->srcline_to =3D addr_map_symbol__srcline(&he->branch_inf= o->to); +} + static int hist_entry__srcline_to_snprintf(struct hist_entry *he, char *bf, size_t size, unsigned int width) { @@ -478,6 +517,9 @@ static int hist_entry__srcline_to_snprintf(struct hist_= entry *he, char *bf, struct sort_entry sort_srcline_to =3D { .se_header =3D "To Source:Line", .se_cmp =3D sort__srcline_to_cmp, + .se_collapse =3D sort__srcline_to_collapse, + .se_sort =3D sort__srcline_to_sort, + .se_init =3D sort__srcline_to_init, .se_snprintf =3D hist_entry__srcline_to_snprintf, .se_width_idx =3D HISTC_SRCLINE_TO, }; --=20 2.39.0.314.g84b9a713c41-goog