Re: [RFC] perf record: Disable debuginfod by default

From: Jiri Olsa
Date: Fri Dec 10 2021 - 07:24:48 EST


On Fri, Dec 10, 2021 at 09:04:25AM +0100, Peter Zijlstra wrote:
> On Thu, Dec 09, 2021 at 09:04:25PM +0100, Jiri Olsa wrote:
> > hi,
> > after migrating to fedora 35 I found perf record hanging on exit
> > and it's because fedora 35 sets DEBUGINFOD_URLS that triggers
> > debuginfod query which might take long time to process.
> >
> > I discussed this briefly with Frank and I'm sending the change
> > to disable debuginfod by default in perf record.
> >
> > Frank had other idea we could discuss here to fork or just spawn
> > "/usr/bin/debuginfod-find ...." into background after perf record.
> >
> > Perhaps there are other ways as well, hence this is RFC ;-)
> >
> > thanks,
> > jirka
> >
> >
> > ---
> > Fedora 35 sets by default DEBUGINFOD_URLS, which might lead
> > to unexpected stalls in perf record exit path, when we try
> > to cache profiled binaries.
> >
> > # DEBUGINFOD_PROGRESS=1 ./perf record -a
> > ^C[ perf record: Woken up 1 times to write data ]
> > Downloading from https://debuginfod.fedoraproject.org/ 447069
> > Downloading from https://debuginfod.fedoraproject.org/ 1502175
> > Downloading \^Z
> >
> > Disabling DEBUGINFOD_URLS by default in perf record and adding
> > debuginfod option and .perfconfig variable support to enable id.
> >
> > Default without debuginfo processing:
> > # perf record -a
> >
> > Using system debuginfod setup:
> > # perf record -a --debuginfod
> >
> > Using custom debuginfd url:
> > # perf record -a --debuginfod='https://evenbetterdebuginfodserver.krava'
> >
> > Adding single perf_debuginfod_setup function and using
> > it also in perf buildid-cache command.
>
> I'm still running with --no-buildid --no-buildid-cache or something like
> that by default. As long as that remains working I'm good.

you're good ;-) that will bypass the problem completely

jirka