From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ian Rogers <irogers@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Tom Rix <trix@redhat.com>, James Clark <james.clark@arm.com>,
Andi Kleen <ak@linux.intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
German Gomez <german.gomez@arm.com>,
Sandipan Das <sandipan.das@amd.com>,
Andres Freund <andres@anarazel.de>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
llvm@lists.linux.dev
Subject: Re: [PATCH v1 1/6] perf annotate: Delete session for debug builds
Date: Thu, 30 Mar 2023 08:24:13 -0300 [thread overview]
Message-ID: <ZCVxXTc0kyRAQ+XA@kernel.org> (raw)
In-Reply-To: <CAM9d7cjSEx_=UTMpDHMwGb=5H6Yf8UdHTMt1xO=4CVToh60oSA@mail.gmail.com>
Em Wed, Mar 29, 2023 at 05:13:17PM -0700, Namhyung Kim escreveu:
> On Wed, Mar 29, 2023 at 6:18 AM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > Em Wed, Mar 29, 2023 at 10:09:48AM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Tue, Mar 28, 2023 at 04:55:38PM -0700, Ian Rogers escreveu:
> > > > Use the debug build indicator as the guide to free the session. This
> > > > implements a behavior described in a comment, which is consequentially
> > > > removed.
> > > >
> > > > Signed-off-by: Ian Rogers <irogers@google.com>
> > > > ---
> > > > tools/perf/builtin-annotate.c | 16 ++++++----------
> > > > 1 file changed, 6 insertions(+), 10 deletions(-)
> > > >
> > > > diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> > > > index 4750fac7bf93..98d1b6379230 100644
> > > > --- a/tools/perf/builtin-annotate.c
> > > > +++ b/tools/perf/builtin-annotate.c
> > > > @@ -692,16 +692,12 @@ int cmd_annotate(int argc, const char **argv)
> > > >
> > > > out_delete:
> > > > /*
> > > > - * Speed up the exit process, for large files this can
> > > > - * take quite a while.
> > > > - *
> > > > - * XXX Enable this when using valgrind or if we ever
> > > > - * librarize this command.
> > > > - *
> > > > - * Also experiment with obstacks to see how much speed
> > > > - * up we'll get here.
> > > > - *
> > > > - * perf_session__delete(session);
> > > > + * Speed up the exit process by only deleting for debug builds. For
> > > > + * large files this can save time.
> > > > */
> > > > +#ifndef NDEBUG
> > > > + perf_session__delete(annotate.session);
> > > > +#endif
> > >
> > > So now, but default, we will call this, as we don't have this defined
> > > only if DEBUG=1 is set, right?
> > >
> > > ⬢[acme@toolbox perf-tools-next]$ find tools/perf/ -type f | xargs grep NDEBUG
> > > tools/perf/util/mutex.c:#ifndef NDEBUG
> > > ⬢[acme@toolbox perf-tools-next]$
> >
> > We can discuss this later, applied the series with just that zfree()
> > change to annotation_options__exit().
>
> I don't think it's just an issue in the perf annotate. Maybe we can
> do the same for perf report and so on.
Yes, I thought at some point of setting some flag, perf_exiting, and
then we would stop releasing memory, zfree comes to mind, but then we
would still be traversing data structures, taking locks, etc.
And we can't just exit() as we may need to flush caches, etc.
IIRC this specific case appeared in profiles, so was commented out.
> Anyway we could define NDEBUG=1 for release builds from now on.
Yes, we should do it.
- Arnaldo
next prev parent reply other threads:[~2023-03-30 11:24 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-28 23:55 [PATCH v1 0/6] config file/command line for objdump & addr2line Ian Rogers
2023-03-28 23:55 ` [PATCH v1 1/6] perf annotate: Delete session for debug builds Ian Rogers
2023-03-29 13:09 ` Arnaldo Carvalho de Melo
2023-03-29 13:18 ` Arnaldo Carvalho de Melo
2023-03-30 0:13 ` Namhyung Kim
2023-03-30 11:24 ` Arnaldo Carvalho de Melo [this message]
2023-03-30 16:59 ` Ian Rogers
2023-03-28 23:55 ` [PATCH v1 2/6] perf report: Additional config warnings Ian Rogers
2023-03-28 23:55 ` [PATCH v1 3/6] perf annotate: Add init/exit to annotation_options remove default Ian Rogers
2023-03-28 23:55 ` [PATCH v1 4/6] perf annotate: Own objdump_path and disassembler_style strings Ian Rogers
2023-03-29 13:17 ` Arnaldo Carvalho de Melo
2023-03-28 23:55 ` [PATCH v1 5/6] perf annotate: Allow objdump to be set in perfconfig Ian Rogers
2023-03-28 23:55 ` [PATCH v1 6/6] perf symbol: Add command line support for addr2line path Ian Rogers
2023-03-30 0:15 ` Namhyung Kim
2023-03-29 13:20 ` [PATCH v1 0/6] config file/command line for objdump & addr2line Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZCVxXTc0kyRAQ+XA@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=andres@anarazel.de \
--cc=german.gomez@arm.com \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=peterz@infradead.org \
--cc=sandipan.das@amd.com \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).