Re: [PATCH 1/2] perf archive: Fix filtering of empty build-ids

From: Jiri Olsa
Date: Wed Feb 24 2021 - 10:26:14 EST


On Fri, Feb 19, 2021 at 11:09:32AM -0500, Nicholas Fraser wrote:
> 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 is true even
> when using old perf.data files recorded from older versions of perf;
> "perf buildid-list" never reports an all-zero hash anymore.
>
> 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@xxxxxxxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> 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
> --
> 2.30.1
>