From: Nicholas Fraser <nfraser@codeweavers.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: 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@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
"Frank Ch. Eigler" <fche@redhat.com>,
Song Liu <songliubraving@fb.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Kim Phillips <kim.phillips@amd.com>,
Tommi Rantala <tommi.t.rantala@nokia.com>,
Remi Bernon <rbernon@codeweavers.com>,
linux-kernel@vger.kernel.org,
Ulrich Czekalla <uczekalla@codeweavers.com>,
Huw Davies <huw@codeweavers.com>
Subject: Re: [PATCH 3/4] perf archive: Fix filtering of empty build-ids
Date: Fri, 12 Feb 2021 13:49:36 -0500 [thread overview]
Message-ID: <8f50e586-ae58-ef4e-a594-e2248203a2a7@codeweavers.com> (raw)
In-Reply-To: <20210212122901.GB1398414@kernel.org>
The current version of "perf buildid-list" prints missing build-ids as
blank even when loading perf.data files generated from older versions of
perf. I've tested with a few older versions.
Since perf-archive is an external script that calls back into perf, it
could in theory find a different older version that still returns zeroes.
We could make it look for a matching perf, e.g. "$(dirname "$0")/perf".
Unfortunately that won't work in general because at least on my system
perf-archive is installed to a different path than perf.
Nick
On 2021-02-12 7:29 a.m., Arnaldo Carvalho de Melo wrote:
> Em Wed, Feb 10, 2021 at 02:17:49PM -0500, Nicholas Fraser escreveu:
>> A non-existent build-id used to be treated as all-zero SHA-1 hash.
>> Build-ids are now variable width. A non-existent build-id is an empty
>> string and "perf buildid-list" pads this with spaces.
>>
>> This fixes "perf-archive" to skip missing build-ids by skipping lines
>> that start with a padding space rather than with zeroes.
>>
>> Signed-off-by: Nicholas Fraser <nfraser@codeweavers.com>
>> ---
>> tools/perf/perf-archive.sh | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/perf-archive.sh b/tools/perf/perf-archive.sh
>> index 0cfb3e2cefef..133f0eddbcc4 100644
>> --- a/tools/perf/perf-archive.sh
>> +++ b/tools/perf/perf-archive.sh
>> @@ -20,9 +20,8 @@ else
>> fi
>>
>> BUILDIDS=$(mktemp /tmp/perf-archive-buildids.XXXXXX)
>> -NOBUILDID=0000000000000000000000000000000000000000
>>
>> -perf buildid-list -i $PERF_DATA --with-hits | grep -v "^$NOBUILDID " > $BUILDIDS
>> +perf buildid-list -i $PERF_DATA --with-hits | grep -v "^ " > $BUILDIDS
>> if [ ! -s $BUILDIDS ] ; then
>> echo "perf archive: no build-ids found"
>> rm $BUILDIDS || true
>
> What should we do when using older files? We have to support both cases.
>
> - Arnaldo
>
next prev parent reply other threads:[~2021-02-12 18:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-10 19:17 [PATCH 3/4] perf archive: Fix filtering of empty build-ids Nicholas Fraser
2021-02-12 12:29 ` Arnaldo Carvalho de Melo
2021-02-12 18:49 ` Nicholas Fraser [this message]
2021-02-12 21:07 ` 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=8f50e586-ae58-ef4e-a594-e2248203a2a7@codeweavers.com \
--to=nfraser@codeweavers.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=fche@redhat.com \
--cc=huw@codeweavers.com \
--cc=irogers@google.com \
--cc=jolsa@redhat.com \
--cc=kim.phillips@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=rbernon@codeweavers.com \
--cc=songliubraving@fb.com \
--cc=tommi.t.rantala@nokia.com \
--cc=uczekalla@codeweavers.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