提交 789688fa 编写于 作者: T Tom Zanussi 提交者: Arnaldo Carvalho de Melo

perf/live: don't synthesize build ids at the end of a live mode trace

It doesn't really make sense to record the build ids at the end of a
live mode session - live mode samples need that information during the
trace rather than at the end.

Leave event__synthesize_build_id() in place, however; we'll still be
using that to synthesize build ids in a more timely fashion in a
future patch.

Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <1272696080-16435-2-git-send-email-tzanussi@gmail.com>
Signed-off-by: NTom Zanussi <tzanussi@gmail.com>
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 fb72014d
......@@ -446,13 +446,6 @@ static void atexit_header(void)
process_buildids();
perf_header__write(&session->header, output, true);
} else {
int err;
err = event__synthesize_build_ids(process_synthesized_event,
session);
if (err < 0)
pr_err("Couldn't synthesize build ids.\n");
}
}
......
......@@ -1136,67 +1136,6 @@ int event__synthesize_build_id(struct dso *pos, u16 misc,
return err;
}
static int __event_synthesize_build_ids(struct list_head *head, u16 misc,
event__handler_t process,
struct machine *machine,
struct perf_session *session)
{
struct dso *pos;
dsos__for_each_with_build_id(pos, head) {
int err;
if (!pos->hit)
continue;
err = event__synthesize_build_id(pos, misc, process,
machine, session);
if (err < 0)
return err;
}
return 0;
}
int event__synthesize_build_ids(event__handler_t process,
struct perf_session *session)
{
int err = 0;
u16 kmisc, umisc;
struct machine *pos;
struct rb_node *nd;
if (!dsos__read_build_ids(&session->header, true))
return 0;
for (nd = rb_first(&session->machines); nd; nd = rb_next(nd)) {
pos = rb_entry(nd, struct machine, rb_node);
if (machine__is_host(pos)) {
kmisc = PERF_RECORD_MISC_KERNEL;
umisc = PERF_RECORD_MISC_USER;
} else {
kmisc = PERF_RECORD_MISC_GUEST_KERNEL;
umisc = PERF_RECORD_MISC_GUEST_USER;
}
err = __event_synthesize_build_ids(&pos->kernel_dsos, kmisc,
process, pos, session);
if (err == 0)
err = __event_synthesize_build_ids(&pos->user_dsos, umisc,
process, pos, session);
if (err)
break;
}
if (err < 0) {
pr_debug("failed to synthesize build ids\n");
return err;
}
dsos__cache_build_ids(&session->header);
return 0;
}
int event__process_build_id(event_t *self,
struct perf_session *session)
{
......
......@@ -122,8 +122,6 @@ int event__synthesize_build_id(struct dso *pos, u16 misc,
event__handler_t process,
struct machine *machine,
struct perf_session *session);
int event__synthesize_build_ids(event__handler_t process,
struct perf_session *session);
int event__process_build_id(event_t *self, struct perf_session *session);
#endif /* __PERF_HEADER_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册