Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp182324pxb; Tue, 12 Apr 2022 20:55:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy0nTRzaAwZxbHrozwpHgJHCCjAJLHMj0TQWHV0HwGOJa7rlcpCA2PavopqjSB5HoODHp5D X-Received: by 2002:a17:90b:3b45:b0:1cb:da1:fb40 with SMTP id ot5-20020a17090b3b4500b001cb0da1fb40mr8499928pjb.105.1649822105569; Tue, 12 Apr 2022 20:55:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649822105; cv=none; d=google.com; s=arc-20160816; b=KhubH5jVq/ytnslBSyKF8qT/4OOAnpJ05g6SDHsYbEyu5oLDibrLvqCXtLtTibSZCq kNQUIe+4GzBzYv5Gb2V8875RvKL1epb0NVALn91vrqCBN4GYn4p750mIINLoIzj+ozdK ZSNDOuQfMwdt889Vvr45x8U47WyxnF4l96q5qyY+RXRKGqd9+Tv/XgD2n7x6oD4IubiX naSkf5DeLLynJmSxFuRBMM2O9XosKrGjPPjvzHEafB5rnSJyoJT2DSMoM0sOSrvIYZa/ /+/r7IW42fJU9clJIYK3fGn9UrLP6wHmPPqB3Wh4yC4cBPAmXE0+5isiUgGbS0D6T2NR GAjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:sender:dkim-signature; bh=3k9hJ+Jr3FLe4plE0QRojfka10o+BEOMUnL9QLr63to=; b=n8mLa+jHnx/LbVAfJ6EbiNWG8efFZ9YGe6U/Z061BxU45JhjjOc3YM38YUS+LutFxh nIfvDR9CQRs0oY4BahNzWTTFkQ0b7lUOudZmhbKGluLhJYFSau78ITknpMh6V/z/FOIW VoWwhz3RA06sIo0duk8RkgOy5p5+q7POUtgkRpXMGul+kOvN7FmDBqlvARcLoQVqigcU dVWsMG0uBY6ztcbGh0WWUzPyD1ZOah2A9Kgo0Kacc8ccHUaOG7Q3KLzd+T6rwDSmC6aM 1/zjiAum5yhpMi81xRCaQjj1+ObXX3Xju0j67VTnB9q4ZmUVeHnKYs+78tbj93+MSI7Y I1CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=b8xW3Xp4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p1-20020a17090ac00100b001cb11a55318si12477314pjt.25.2022.04.12.20.54.50; Tue, 12 Apr 2022 20:55:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=b8xW3Xp4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229950AbiDLX1D (ORCPT + 99 others); Tue, 12 Apr 2022 19:27:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230073AbiDLX00 (ORCPT ); Tue, 12 Apr 2022 19:26:26 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F0F4BD111D; Tue, 12 Apr 2022 15:12:39 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id n8so279751plh.1; Tue, 12 Apr 2022 15:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=3k9hJ+Jr3FLe4plE0QRojfka10o+BEOMUnL9QLr63to=; b=b8xW3Xp4tiUa99A17UvGdiws13S52S4Ph71zVASv0FurDMkVncFYoaQbU6bD/bZBjL 2ltYlsc7ueFUx2aHnVe5j8uFZRxWF/M6qeSfoMhdUddNuBDvWczyLAdtqmpFJaMIRn+C 3gli4kQ0eJgbAcqbiQMqF+mWwweTLI7RLlFoBVKHRY3J2el6BES58xEdBTviXqHW1LY7 g/Wfus459x+a6QxlrcIu457ETAZpoSQyIH5ht6HjaRE95fQuOI9l1di7baN7dVzcPWjo HSwlacoI/Cp4HeY3PKufJESJgb0DTlhl5jlkA6PteFUyrzCGveKuH9wiBafrD7lfu7Dm d/4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=3k9hJ+Jr3FLe4plE0QRojfka10o+BEOMUnL9QLr63to=; b=Kc/uNxhkVIus1NznT7OYUMD4WA2jiP6+gKRIQ4c7W8MiXec0Fg9EFyMrp01jI8yqtf 5Y3Rpe06wH44JNUMrDIaRuVHAg+Viix0S9B+Oa1Op9O1fEi0atEVIXgrrgU2yreKzZCd vlRqGYpSqn0n2oIBDSTywtEndKAAUfOvH88Ms7svvb4z4rJ9XZhKa4ZDqbfx4H0IRi7m vfZm5oWKlYdJF3PrpGf9UE9RNAseLpb1HdZVus9GMCJo/AAijhNLNCnwmqjvjgRJyDe2 JGXfwlR4qsqyYUNcWzbuwLtlj6fLsqIMdvJj+pzy1LufBy0OJaWjpoSjmLwQtpTERUr3 GpqQ== X-Gm-Message-State: AOAM531YLsIuFIGZgMX9l4NmJD15qrlhU0uzuDrYBsw6NkqW3XEDkEn4 Wj46E3x/3uaXwBFoqhRD5XM= X-Received: by 2002:a17:90b:2685:b0:1cb:6521:dd78 with SMTP id pl5-20020a17090b268500b001cb6521dd78mr7448005pjb.194.1649801559276; Tue, 12 Apr 2022 15:12:39 -0700 (PDT) Received: from google.com ([2620:15c:2c1:200:af7f:9aa3:e1d:b65d]) by smtp.gmail.com with ESMTPSA id u17-20020a056a00159100b004faef351ebcsm38719862pfk.45.2022.04.12.15.12.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 15:12:38 -0700 (PDT) Sender: Namhyung Kim Date: Tue, 12 Apr 2022 15:12:35 -0700 From: Namhyung Kim To: Ian Rogers Cc: John Garry , Will Deacon , Mathieu Poirier , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , James Clark , Alexandre Truong , German Gomez , Dave Marchevsky , Song Liu , Ravi Bangoria , Li Huafei , Martin =?utf-8?B?TGnFoWth?= , William Cohen , Riccardo Mancini , Masami Hiramatsu , Thomas Richter , Lexi Shao , Remi Bernon , Michael Petlan , Denis Nikitin , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Stephane Eranian Subject: Re: [PATCH v2 0/4] Tidy up symbol end fixup Message-ID: References: <20220412154817.2728324-1-irogers@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20220412154817.2728324-1-irogers@google.com> X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ian, On Tue, Apr 12, 2022 at 08:48:13AM -0700, Ian Rogers wrote: > Fixing up more symbol ends as introduced in: > https://lore.kernel.org/lkml/20220317135536.805-1-mpetlan@redhat.com/ > caused perf annotate to run into memory limits - every symbol holds > all the disassembled code in the annotation, and so making symbols > ends further away dramatically increased memory usage (40MB to > >1GB). Modify the symbol end logic so that special kernel cases aren't > applied in the common case. > > v2. Drops a merged patch. Fixes a build issue with libbfd enabled. How about just like this? We can get rid of arch functions as they mostly do the same thing (kernel vs module boundary check). Not tested. ;-) Thanks, Namhyung --------------8<------------- diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index dea0fc495185..df41d7266d91 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -35,6 +35,7 @@ #include "path.h" #include #include +#include // page_size #include #include @@ -231,8 +226,16 @@ void symbols__fixup_end(struct rb_root_cached *symbols) prev = curr; curr = rb_entry(nd, struct symbol, rb_node); - if (prev->end == prev->start || prev->end != curr->start) - arch__symbols__fixup_end(prev, curr); + if (prev->end == prev->start) { + /* Last kernel symbol mapped to end of page */ + if (!strchr(prev->name, '[') != !strchr(curr->name, '[')) + prev->end = roundup(prev->end + 1, page_size); + else + prev->end = curr->start; + + pr_debug4("%s sym:%s end:%#" PRIx64 "\n", + __func__, prev->name, prev->end); + } } /* Last entry */