perf buildid-list: Introduce --with-hits option
Using this option 'perf buildid-list' will process all samples, marking the DSOs that had some hits to list just them. This in turn will be used by a new porcelain, 'perf archive', that will be just a shell script to create a tarball from the 'perf buildid-list --with-hits' output and the files cached by 'perf record' in ~/.debug. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <1263519930-22803-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
59ee68ecd1
commit
88d3d9b7c8
@@ -1716,22 +1716,25 @@ void dsos__fprintf(FILE *fp)
|
||||
__dsos__fprintf(&dsos__user, fp);
|
||||
}
|
||||
|
||||
static size_t __dsos__fprintf_buildid(struct list_head *head, FILE *fp)
|
||||
static size_t __dsos__fprintf_buildid(struct list_head *head, FILE *fp,
|
||||
bool with_hits)
|
||||
{
|
||||
struct dso *pos;
|
||||
size_t ret = 0;
|
||||
|
||||
list_for_each_entry(pos, head, node) {
|
||||
if (with_hits && !pos->hit)
|
||||
continue;
|
||||
ret += dso__fprintf_buildid(pos, fp);
|
||||
ret += fprintf(fp, " %s\n", pos->long_name);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t dsos__fprintf_buildid(FILE *fp)
|
||||
size_t dsos__fprintf_buildid(FILE *fp, bool with_hits)
|
||||
{
|
||||
return (__dsos__fprintf_buildid(&dsos__kernel, fp) +
|
||||
__dsos__fprintf_buildid(&dsos__user, fp));
|
||||
return (__dsos__fprintf_buildid(&dsos__kernel, fp, with_hits) +
|
||||
__dsos__fprintf_buildid(&dsos__user, fp, with_hits));
|
||||
}
|
||||
|
||||
static struct dso *dsos__create_kernel(const char *vmlinux)
|
||||
|
||||
Reference in New Issue
Block a user