Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH 1/1] perf archive: Don't try to collect files without a build-id

61 views
Skip to first unread message

Arnaldo Carvalho de Melo

unread,
Mar 2, 2010, 1:30:02 PM3/2/10
to
From: Arnaldo Carvalho de Melo <ac...@redhat.com>

To avoid these error:

[root@doppio ~]# perf archive
tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
No such file or directory
tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
No such file or directory
tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
No such file or directory
tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
No such file or directory
tar: Exiting with failure status due to previous errors
[root@doppio ~]#

More work is needed to support archiving symtabs for binaries without a
build-id, perhaps creating a perf.data UUID + adding build-ids for the
binaries copied into the cache and then have this perf.data session UUID
be a directory with symlinks to the by now calculated build-id of the
files inside it.

Or just do an extra pass and insert the calculated build-ids in the
perf.data header.

Reported-by: Ingo Molnar <mi...@elte.hu>
Cc: Frédéric Weisbecker <fwei...@gmail.com>
Cc: Mike Galbraith <efa...@gmx.de>
Cc: Peter Zijlstra <a.p.zi...@chello.nl>
Cc: Paul Mackerras <pau...@samba.org>
Signed-off-by: Arnaldo Carvalho de Melo <ac...@redhat.com>
---
tools/perf/perf-archive.sh | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/perf/perf-archive.sh b/tools/perf/perf-archive.sh
index 45fbe2f..910468e 100644
--- a/tools/perf/perf-archive.sh
+++ b/tools/perf/perf-archive.sh
@@ -9,8 +9,9 @@ fi

DEBUGDIR=~/.debug/
BUILDIDS=$(mktemp /tmp/perf-archive-buildids.XXXXXX)
+NOBUILDID=0000000000000000000000000000000000000000

-perf buildid-list -i $PERF_DATA --with-hits > $BUILDIDS
+perf buildid-list -i $PERF_DATA --with-hits | grep -v "^$NOBUILDID " > $BUILDIDS
if [ ! -s $BUILDIDS ] ; then
echo "perf archive: no build-ids found"
rm -f $BUILDIDS
--
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Ingo Molnar

unread,
Mar 2, 2010, 1:40:02 PM3/2/10
to

* Arnaldo Carvalho de Melo <ac...@infradead.org> wrote:

> From: Arnaldo Carvalho de Melo <ac...@redhat.com>
>
> To avoid these error:
>
> [root@doppio ~]# perf archive
> tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
> No such file or directory
> tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
> No such file or directory
> tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
> No such file or directory
> tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat:
> No such file or directory
> tar: Exiting with failure status due to previous errors
> [root@doppio ~]#

Your fix solved the problem on my box too - thanks!

Ingo

0 new messages