* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-03-23 22:52 Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 1/3] perf session: Pass evsel in event_ops->sample() Arnaldo Carvalho de Melo
` (3 more replies)
0 siblings, 4 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-23 22:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Arun Sharma, Avi Kivity,
Dave Martin, Frederic Weisbecker, Han Pingtian, Ingo Molnar,
Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Srikar Dronamraju, Stephane Eranian, Tom Zanussi, Zhang Yanmin,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf session: Pass evsel in event_ops->sample()
perf build-id: Add quirk to deal with perf.data file format breakage
perf symbols: Look at .dynsym again if .symtab not found
tools/perf/builtin-annotate.c | 18 ++-----
tools/perf/builtin-diff.c | 1 +
tools/perf/builtin-inject.c | 11 ++++-
tools/perf/builtin-kmem.c | 1 +
tools/perf/builtin-lock.c | 4 +-
tools/perf/builtin-report.c | 19 ++-----
tools/perf/builtin-sched.c | 1 +
tools/perf/builtin-script.c | 15 ++----
tools/perf/builtin-timechart.c | 11 ++++
tools/perf/util/build-id.c | 1 +
tools/perf/util/header.c | 57 +++++++++++++++++++-
tools/perf/util/hist.h | 1 +
.../perf/util/scripting-engines/trace-event-perl.c | 1 +
.../util/scripting-engines/trace-event-python.c | 1 +
tools/perf/util/session.c | 25 ++++++++-
tools/perf/util/session.h | 7 ++-
tools/perf/util/symbol.c | 25 +++++----
tools/perf/util/trace-event-scripting.c | 1 +
tools/perf/util/trace-event.h | 1 +
19 files changed, 142 insertions(+), 59 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/3] perf session: Pass evsel in event_ops->sample()
2011-03-23 22:52 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
@ 2011-03-23 22:52 ` Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 2/3] perf build-id: Add quirk to deal with perf.data file format breakage Arnaldo Carvalho de Melo
` (2 subsequent siblings)
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-23 22:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Ingo Molnar, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Tom Zanussi
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Resolving the sample->id to an evsel since the most advanced tools,
report and annotate, and the others will too when they evolve to
properly support multi-event perf.data files.
Good also because it does an extra validation, checking that the ID is
valid when present. When that is not the case, the overhead is just a
branch + function call (perf_evlist__id2evsel).
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-annotate.c | 18 +++-----------
tools/perf/builtin-diff.c | 1 +
tools/perf/builtin-inject.c | 11 ++++++++-
tools/perf/builtin-kmem.c | 1 +
tools/perf/builtin-lock.c | 4 ++-
tools/perf/builtin-report.c | 19 +++------------
tools/perf/builtin-sched.c | 1 +
tools/perf/builtin-script.c | 15 +++--------
tools/perf/builtin-timechart.c | 11 ++++++++
tools/perf/util/build-id.c | 1 +
tools/perf/util/hist.h | 1 +
.../perf/util/scripting-engines/trace-event-perl.c | 1 +
.../util/scripting-engines/trace-event-python.c | 1 +
tools/perf/util/session.c | 25 ++++++++++++++++++-
tools/perf/util/session.h | 7 ++++-
tools/perf/util/trace-event-scripting.c | 1 +
tools/perf/util/trace-event.h | 1 +
17 files changed, 73 insertions(+), 46 deletions(-)
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 695de4b..e18eb7e 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -42,9 +42,9 @@ static const char *sym_hist_filter;
static int perf_evlist__add_sample(struct perf_evlist *evlist,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct addr_location *al)
{
- struct perf_evsel *evsel;
struct hist_entry *he;
int ret;
@@ -59,18 +59,6 @@ static int perf_evlist__add_sample(struct perf_evlist *evlist,
return 0;
}
- evsel = perf_evlist__id2evsel(evlist, sample->id);
- if (evsel == NULL) {
- /*
- * FIXME: Propagate this back, but at least we're in a builtin,
- * where exit() is allowed. ;-)
- */
- ui__warning("Invalid %s file, contains samples with id not in "
- "its header!\n", input_name);
- exit_browser(0);
- exit(1);
- }
-
he = __hists__add_entry(&evsel->hists, al, NULL, 1);
if (he == NULL)
return -ENOMEM;
@@ -92,6 +80,7 @@ static int perf_evlist__add_sample(struct perf_evlist *evlist,
static int process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session)
{
struct addr_location al;
@@ -103,7 +92,8 @@ static int process_sample_event(union perf_event *event,
return -1;
}
- if (!al.filtered && perf_evlist__add_sample(session->evlist, sample, &al)) {
+ if (!al.filtered &&
+ perf_evlist__add_sample(session->evlist, sample, evsel, &al)) {
pr_warning("problem incrementing symbol count, "
"skipping event\n");
return -1;
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 6b7d911..e821999 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -32,6 +32,7 @@ static int hists__add_entry(struct hists *self,
static int diff__process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct addr_location al;
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index e29f04e..8dfc12b 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -43,6 +43,14 @@ static int perf_event__repipe(union perf_event *event,
return perf_event__repipe_synth(event, session);
}
+static int perf_event__repipe_sample(union perf_event *event,
+ struct perf_sample *sample __used,
+ struct perf_evsel *evsel __used,
+ struct perf_session *session)
+{
+ return perf_event__repipe_synth(event, session);
+}
+
static int perf_event__repipe_mmap(union perf_event *event,
struct perf_sample *sample,
struct perf_session *session)
@@ -124,6 +132,7 @@ static int dso__inject_build_id(struct dso *self, struct perf_session *session)
static int perf_event__inject_buildid(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct addr_location al;
@@ -164,7 +173,7 @@ repipe:
}
struct perf_event_ops inject_ops = {
- .sample = perf_event__repipe,
+ .sample = perf_event__repipe_sample,
.mmap = perf_event__repipe,
.comm = perf_event__repipe,
.fork = perf_event__repipe,
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 7f618f4..225e963 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -305,6 +305,7 @@ static void process_raw_event(union perf_event *raw_event __used, void *data,
static int process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct thread *thread = perf_session__findnew(session, event->ip.pid);
diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
index 7a2a79d..9ac05aa 100644
--- a/tools/perf/builtin-lock.c
+++ b/tools/perf/builtin-lock.c
@@ -845,7 +845,9 @@ static void dump_info(void)
die("Unknown type of information\n");
}
-static int process_sample_event(union perf_event *event, struct perf_sample *sample,
+static int process_sample_event(union perf_event *event,
+ struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *s)
{
struct thread *thread = perf_session__findnew(s, sample->tid);
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index b1b8200..498c6f7 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -50,12 +50,12 @@ static symbol_filter_t annotate_init;
static int perf_session__add_hist_entry(struct perf_session *session,
struct addr_location *al,
- struct perf_sample *sample)
+ struct perf_sample *sample,
+ struct perf_evsel *evsel)
{
struct symbol *parent = NULL;
int err = 0;
struct hist_entry *he;
- struct perf_evsel *evsel;
if ((sort__has_parent || symbol_conf.use_callchain) && sample->callchain) {
err = perf_session__resolve_callchain(session, al->thread,
@@ -64,18 +64,6 @@ static int perf_session__add_hist_entry(struct perf_session *session,
return err;
}
- evsel = perf_evlist__id2evsel(session->evlist, sample->id);
- if (evsel == NULL) {
- /*
- * FIXME: Propagate this back, but at least we're in a builtin,
- * where exit() is allowed. ;-)
- */
- ui__warning("Invalid %s file, contains samples with id %" PRIu64 " not in "
- "its header!\n", input_name, sample->id);
- exit_browser(0);
- exit(1);
- }
-
he = __hists__add_entry(&evsel->hists, al, parent, sample->period);
if (he == NULL)
return -ENOMEM;
@@ -113,6 +101,7 @@ out:
static int process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session)
{
struct addr_location al;
@@ -127,7 +116,7 @@ static int process_sample_event(union perf_event *event,
if (al.filtered || (hide_unresolved && al.sym == NULL))
return 0;
- if (perf_session__add_hist_entry(session, &al, sample)) {
+ if (perf_session__add_hist_entry(session, &al, sample, evsel)) {
pr_debug("problem incrementing symbol period, skipping event\n");
return -1;
}
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index a32f411..dcfe887 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1603,6 +1603,7 @@ static void process_raw_event(union perf_event *raw_event __used,
static int process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct thread *thread;
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 9f5fc54..ac574ea 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -162,19 +162,11 @@ static void print_sample_start(struct perf_sample *sample,
static void process_event(union perf_event *event __unused,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session,
struct thread *thread)
{
- struct perf_event_attr *attr;
- struct perf_evsel *evsel;
-
- evsel = perf_evlist__id2evsel(session->evlist, sample->id);
- if (evsel == NULL) {
- pr_err("Invalid data. Contains samples with id not in "
- "its header!\n");
- return;
- }
- attr = &evsel->attr;
+ struct perf_event_attr *attr = &evsel->attr;
if (output_fields[attr->type] == 0)
return;
@@ -244,6 +236,7 @@ static char const *input_name = "perf.data";
static int process_sample_event(union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session)
{
struct thread *thread = perf_session__findnew(session, event->ip.pid);
@@ -264,7 +257,7 @@ static int process_sample_event(union perf_event *event,
last_timestamp = sample->time;
return 0;
}
- scripting_ops->process_event(event, sample, session, thread);
+ scripting_ops->process_event(event, sample, evsel, session, thread);
session->hists.stats.total_period += sample->period;
return 0;
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 67c0459..aa26f4d 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -488,6 +488,7 @@ static void sched_switch(int cpu, u64 timestamp, struct trace_entry *te)
static int process_sample_event(union perf_event *event __used,
struct perf_sample *sample,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct trace_entry *te;
@@ -506,6 +507,16 @@ static int process_sample_event(union perf_event *event __used,
struct power_entry_old *peo;
peo = (void *)te;
#endif
+ /*
+ * FIXME: use evsel, its already mapped from id to perf_evsel,
+ * remove perf_header__find_event infrastructure bits.
+ * Mapping all these "power:cpu_idle" strings to the tracepoint
+ * ID and then just comparing against evsel->attr.config.
+ *
+ * e.g.:
+ *
+ * if (evsel->attr.config == power_cpu_idle_id)
+ */
event_str = perf_header__find_event(te->type);
if (!event_str)
diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index 31f934a..a91cd99 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -16,6 +16,7 @@
static int build_id__mark_dso_hit(union perf_event *event,
struct perf_sample *sample __used,
+ struct perf_evsel *evsel __used,
struct perf_session *session)
{
struct addr_location al;
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index cb6858a..3beb97c 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -29,6 +29,7 @@ struct events_stats {
u32 nr_events[PERF_RECORD_HEADER_MAX];
u32 nr_unknown_events;
u32 nr_invalid_chains;
+ u32 nr_unknown_id;
};
enum hist_column {
diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c
index 6214272..74350ff 100644
--- a/tools/perf/util/scripting-engines/trace-event-perl.c
+++ b/tools/perf/util/scripting-engines/trace-event-perl.c
@@ -247,6 +247,7 @@ static inline struct event *find_cache_event(int type)
static void perl_process_event(union perf_event *pevent __unused,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session __unused,
struct thread *thread)
{
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c
index 1b85d60..6ccf70e 100644
--- a/tools/perf/util/scripting-engines/trace-event-python.c
+++ b/tools/perf/util/scripting-engines/trace-event-python.c
@@ -206,6 +206,7 @@ static inline struct event *find_cache_event(int type)
static void python_process_event(union perf_event *pevent __unused,
struct perf_sample *sample,
+ struct perf_evsel *evsel __unused,
struct perf_session *session __unused,
struct thread *thread)
{
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index c68cf40..caa2245 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -280,6 +280,15 @@ static int process_event_synth_stub(union perf_event *event __used,
return 0;
}
+static int process_event_sample_stub(union perf_event *event __used,
+ struct perf_sample *sample __used,
+ struct perf_evsel *evsel __used,
+ struct perf_session *session __used)
+{
+ dump_printf(": unhandled!\n");
+ return 0;
+}
+
static int process_event_stub(union perf_event *event __used,
struct perf_sample *sample __used,
struct perf_session *session __used)
@@ -303,7 +312,7 @@ static int process_finished_round(union perf_event *event,
static void perf_event_ops__fill_defaults(struct perf_event_ops *handler)
{
if (handler->sample == NULL)
- handler->sample = process_event_stub;
+ handler->sample = process_event_sample_stub;
if (handler->mmap == NULL)
handler->mmap = process_event_stub;
if (handler->comm == NULL)
@@ -698,12 +707,19 @@ static int perf_session_deliver_event(struct perf_session *session,
struct perf_event_ops *ops,
u64 file_offset)
{
+ struct perf_evsel *evsel;
+
dump_event(session, event, file_offset, sample);
switch (event->header.type) {
case PERF_RECORD_SAMPLE:
dump_sample(session, event, sample);
- return ops->sample(event, sample, session);
+ evsel = perf_evlist__id2evsel(session->evlist, sample->id);
+ if (evsel == NULL) {
+ ++session->hists.stats.nr_unknown_id;
+ return -1;
+ }
+ return ops->sample(event, sample, evsel, session);
case PERF_RECORD_MMAP:
return ops->mmap(event, sample, session);
case PERF_RECORD_COMM:
@@ -845,6 +861,11 @@ static void perf_session__warn_about_errors(const struct perf_session *session,
session->hists.stats.nr_unknown_events);
}
+ if (session->hists.stats.nr_unknown_id != 0) {
+ ui__warning("%u samples with id not present in the header\n",
+ session->hists.stats.nr_unknown_id);
+ }
+
if (session->hists.stats.nr_invalid_chains != 0) {
ui__warning("Found invalid callchains!\n\n"
"%u out of %u events were discarded for this reason.\n\n"
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index 0b3c9af..1ac481f 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -55,8 +55,11 @@ struct perf_session {
char filename[0];
};
+struct perf_evsel;
struct perf_event_ops;
+typedef int (*event_sample)(union perf_event *event, struct perf_sample *sample,
+ struct perf_evsel *evsel, struct perf_session *session);
typedef int (*event_op)(union perf_event *self, struct perf_sample *sample,
struct perf_session *session);
typedef int (*event_synth_op)(union perf_event *self,
@@ -65,8 +68,8 @@ typedef int (*event_op2)(union perf_event *self, struct perf_session *session,
struct perf_event_ops *ops);
struct perf_event_ops {
- event_op sample,
- mmap,
+ event_sample sample;
+ event_op mmap,
comm,
fork,
exit,
diff --git a/tools/perf/util/trace-event-scripting.c b/tools/perf/util/trace-event-scripting.c
index 66f4b78..c9dcbec 100644
--- a/tools/perf/util/trace-event-scripting.c
+++ b/tools/perf/util/trace-event-scripting.c
@@ -38,6 +38,7 @@ static int stop_script_unsupported(void)
static void process_event_unsupported(union perf_event *event __unused,
struct perf_sample *sample __unused,
+ struct perf_evsel *evsel __unused,
struct perf_session *session __unused,
struct thread *thread __unused)
{
diff --git a/tools/perf/util/trace-event.h b/tools/perf/util/trace-event.h
index b04da57..f674dda 100644
--- a/tools/perf/util/trace-event.h
+++ b/tools/perf/util/trace-event.h
@@ -280,6 +280,7 @@ struct scripting_ops {
int (*stop_script) (void);
void (*process_event) (union perf_event *event,
struct perf_sample *sample,
+ struct perf_evsel *evsel,
struct perf_session *session,
struct thread *thread);
int (*generate_script) (const char *outfile);
--
1.6.2.5
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 2/3] perf build-id: Add quirk to deal with perf.data file format breakage
2011-03-23 22:52 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 1/3] perf session: Pass evsel in event_ops->sample() Arnaldo Carvalho de Melo
@ 2011-03-23 22:52 ` Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 3/3] perf symbols: Look at .dynsym again if .symtab not found Arnaldo Carvalho de Melo
2011-03-24 8:17 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-23 22:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Avi Kivity,
Frederic Weisbecker, Ingo Molnar, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian, Tom Zanussi, Zhang Yanmin,
stable
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The a1645ce1 changeset:
"perf: 'perf kvm' tool for monitoring guest performance from host"
Added a field to struct build_id_event that broke the file format.
Since the kernel build-id is the first entry, process the table using
the old format if the well known '[kernel.kallsyms]' string for the
kernel build-id has the first 4 characters chopped off (where the pid_t
sits).
Reported-by: Han Pingtian <phan@redhat.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
Cc: Zhang Yanmin <yanmin_zhang@linux.intel.com>
Cc: stable@kernel.org
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
| 57 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 56 insertions(+), 1 deletions(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index e5230c0..93862a8 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -695,13 +695,50 @@ out:
return err;
}
+static int perf_header__read_build_ids_abi_quirk(struct perf_header *header,
+ int input, u64 offset, u64 size)
+{
+ struct perf_session *session = container_of(header, struct perf_session, header);
+ struct {
+ struct perf_event_header header;
+ u8 build_id[ALIGN(BUILD_ID_SIZE, sizeof(u64))];
+ char filename[0];
+ } old_bev;
+ struct build_id_event bev;
+ char filename[PATH_MAX];
+ u64 limit = offset + size;
+
+ while (offset < limit) {
+ ssize_t len;
+
+ if (read(input, &old_bev, sizeof(old_bev)) != sizeof(old_bev))
+ return -1;
+
+ if (header->needs_swap)
+ perf_event_header__bswap(&old_bev.header);
+
+ len = old_bev.header.size - sizeof(old_bev);
+ if (read(input, filename, len) != len)
+ return -1;
+
+ bev.header = old_bev.header;
+ bev.pid = 0;
+ memcpy(bev.build_id, old_bev.build_id, sizeof(bev.build_id));
+ __event_process_build_id(&bev, filename, session);
+
+ offset += bev.header.size;
+ }
+
+ return 0;
+}
+
static int perf_header__read_build_ids(struct perf_header *header,
int input, u64 offset, u64 size)
{
struct perf_session *session = container_of(header, struct perf_session, header);
struct build_id_event bev;
char filename[PATH_MAX];
- u64 limit = offset + size;
+ u64 limit = offset + size, orig_offset = offset;
int err = -1;
while (offset < limit) {
@@ -716,6 +753,24 @@ static int perf_header__read_build_ids(struct perf_header *header,
len = bev.header.size - sizeof(bev);
if (read(input, filename, len) != len)
goto out;
+ /*
+ * The a1645ce1 changeset:
+ *
+ * "perf: 'perf kvm' tool for monitoring guest performance from host"
+ *
+ * Added a field to struct build_id_event that broke the file
+ * format.
+ *
+ * Since the kernel build-id is the first entry, process the
+ * table using the old format if the well known
+ * '[kernel.kallsyms]' string for the kernel build-id has the
+ * first 4 characters chopped off (where the pid_t sits).
+ */
+ if (memcmp(filename, "nel.kallsyms]", 13) == 0) {
+ if (lseek(input, orig_offset, SEEK_SET) == (off_t)-1)
+ return -1;
+ return perf_header__read_build_ids_abi_quirk(header, input, offset, size);
+ }
__event_process_build_id(&bev, filename, session);
--
1.6.2.5
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 3/3] perf symbols: Look at .dynsym again if .symtab not found
2011-03-23 22:52 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 1/3] perf session: Pass evsel in event_ops->sample() Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 2/3] perf build-id: Add quirk to deal with perf.data file format breakage Arnaldo Carvalho de Melo
@ 2011-03-23 22:52 ` Arnaldo Carvalho de Melo
2011-03-24 8:17 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-23 22:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Dave Martin,
Frederic Weisbecker, Ingo Molnar, Mike Galbraith, Paul Mackerras,
Peter Zijlstra, Stephane Eranian, Tom Zanussi
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The original intent of the code was to repeat the search with
want_symtab = 0. But as the code stands now, we never hit the "default"
case of the switch statement. Which means we never repeat the search.
Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Reported-by: Arun Sharma <asharma@fb.com>
Reported-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Dave Martin <dave.martin@linaro.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 651dbfe..17df793 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1486,7 +1486,9 @@ int dso__load(struct dso *self, struct map *map, symbol_filter_t filter)
* On the first pass, only load images if they have a full symtab.
* Failing that, do a second pass where we accept .dynsym also
*/
- for (self->symtab_type = SYMTAB__BUILD_ID_CACHE, want_symtab = 1;
+ want_symtab = 1;
+restart:
+ for (self->symtab_type = SYMTAB__BUILD_ID_CACHE;
self->symtab_type != SYMTAB__NOT_FOUND;
self->symtab_type++) {
switch (self->symtab_type) {
@@ -1536,17 +1538,7 @@ int dso__load(struct dso *self, struct map *map, symbol_filter_t filter)
snprintf(name, size, "%s%s", symbol_conf.symfs,
self->long_name);
break;
-
- default:
- /*
- * If we wanted a full symtab but no image had one,
- * relax our requirements and repeat the search.
- */
- if (want_symtab) {
- want_symtab = 0;
- self->symtab_type = SYMTAB__BUILD_ID_CACHE;
- } else
- continue;
+ default:;
}
/* Name is now the name of the next image to try */
@@ -1573,6 +1565,15 @@ int dso__load(struct dso *self, struct map *map, symbol_filter_t filter)
}
}
+ /*
+ * If we wanted a full symtab but no image had one,
+ * relax our requirements and repeat the search.
+ */
+ if (ret <= 0 && want_symtab) {
+ want_symtab = 0;
+ goto restart;
+ }
+
free(name);
if (ret < 0 && strstr(self->name, " (deleted)") != NULL)
return 0;
--
1.6.2.5
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-03-23 22:52 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2011-03-23 22:52 ` [PATCH 3/3] perf symbols: Look at .dynsym again if .symtab not found Arnaldo Carvalho de Melo
@ 2011-03-24 8:17 ` Ingo Molnar
3 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-03-24 8:17 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Arun Sharma, Avi Kivity, Dave Martin,
Frederic Weisbecker, Han Pingtian, Mike Galbraith,
Paul Mackerras, Peter Zijlstra, Srikar Dronamraju,
Stephane Eranian, Tom Zanussi, Zhang Yanmin,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (3):
> perf session: Pass evsel in event_ops->sample()
> perf build-id: Add quirk to deal with perf.data file format breakage
> perf symbols: Look at .dynsym again if .symtab not found
>
> tools/perf/builtin-annotate.c | 18 ++-----
> tools/perf/builtin-diff.c | 1 +
> tools/perf/builtin-inject.c | 11 ++++-
> tools/perf/builtin-kmem.c | 1 +
> tools/perf/builtin-lock.c | 4 +-
> tools/perf/builtin-report.c | 19 ++-----
> tools/perf/builtin-sched.c | 1 +
> tools/perf/builtin-script.c | 15 ++----
> tools/perf/builtin-timechart.c | 11 ++++
> tools/perf/util/build-id.c | 1 +
> tools/perf/util/header.c | 57 +++++++++++++++++++-
> tools/perf/util/hist.h | 1 +
> .../perf/util/scripting-engines/trace-event-perl.c | 1 +
> .../util/scripting-engines/trace-event-python.c | 1 +
> tools/perf/util/session.c | 25 ++++++++-
> tools/perf/util/session.h | 7 ++-
> tools/perf/util/symbol.c | 25 +++++----
> tools/perf/util/trace-event-scripting.c | 1 +
> tools/perf/util/trace-event.h | 1 +
> 19 files changed, 142 insertions(+), 59 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
@ 2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-03-19 21:17 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra
Em Mon, Mar 19, 2012 at 08:47:25PM +0100, Ingo Molnar escreveu:
> Pulled, thanks Arnaldo!
>
> I noticed that there's no help text for GTK support - how will a
> user find that 'perf report --gtk' will do something nice?
>
> Another detail is that if GTK support is not compiled in:
>
> Makefile:515: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
>
> then the --gtk output is not very informative:
>
> earth5:~/tip/tools/perf> perf report --gtk
> earth5:~/tip/tools/perf>
>
> :-)
>
> A third detail, I do have gtk2-devel installed:
>
> Package gtk2-devel-2.24.10-1.fc17.x86_64 already installed and latest version
Yeah, as you said, the ball is rolling! ;-)
> yet I got the above message.
>
> It is not easy to figure out *why* a feature test failed,
> unfortunately. It would be nice if V=1 or something like that
> would output the failure.
Yeah, I also was frustrated by V=1 not affecting the feature tests, and
did what you did, just didn't got around to fix it properly.
> I applied the hack below and ran the gtk testcase, which gave:
>
> earth5:~/tip/tools/perf> . ./test.4273.sh
> In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,
> from /usr/include/glib-2.0/glib/gtypes.h:34,
> from /usr/include/glib-2.0/glib/galloca.h:34,
> from /usr/include/glib-2.0/glib.h:32,
> from /usr/include/glib-2.0/gobject/gbinding.h:30,
> from /usr/include/glib-2.0/glib-object.h:25,
> from /usr/include/glib-2.0/gio/gioenums.h:30,
> from /usr/include/glib-2.0/gio/giotypes.h:30,
> from /usr/include/glib-2.0/gio/gio.h:28,
> from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
> from /usr/include/gtk-2.0/gdk/gdk.h:32,
> from /usr/include/gtk-2.0/gtk/gtk.h:32,
> from test.4273.c:2:
> /usr/include/glib-2.0/glib/gmacros.h:346:7: error: "_MSC_VER" is not defined [-Werror=undef]
> cc1: all warnings being treated as errors
>
> Which allowed me to fix the feature test and the gtk.h include
> file wrapper via the second patch below.
>
> And then I was greeted by the GTK report window on 'perf report
> --gtk' ;-)
>
> Thanks,
>
> Ingo
>
> diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
> index 8046182..68cf795 100644
> --- a/tools/perf/config/utilities.mak
> +++ b/tools/perf/config/utilities.mak
> @@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
> # Usage: option = $(call try-cc, source-to-build, cc-options)
> try-cc = $(shell sh -c \
> 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> + echo "$(1)" > test.$$$$.c; \
> + echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
> echo "$(1)" | \
> $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
> rm -f "$$TMP"')
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
> diff --git a/tools/perf/config/feature-tests.mak b/tools/perf/config/feature-tests.mak
> index d9084e0..ae8b471 100644
> --- a/tools/perf/config/feature-tests.mak
> +++ b/tools/perf/config/feature-tests.mak
> @@ -68,7 +68,9 @@ endif
> ifndef NO_GTK2
> define SOURCE_GTK2
> #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
> +#pragma GCC diagnostic ignored \"-Wundef\"
> #include <gtk/gtk.h>
> +#pragma GCC diagnostic error \"-Wundef\"
> #pragma GCC diagnostic error \"-Wstrict-prototypes\"
>
> int main(int argc, char *argv[])
> diff --git a/tools/perf/util/gtk/gtk.h b/tools/perf/util/gtk/gtk.h
> index 75177ee..c7a941f 100644
> --- a/tools/perf/util/gtk/gtk.h
> +++ b/tools/perf/util/gtk/gtk.h
> @@ -2,7 +2,9 @@
> #define _PERF_GTK_H_ 1
>
> #pragma GCC diagnostic ignored "-Wstrict-prototypes"
> +#pragma GCC diagnostic ignored "-Wundef"
> #include <gtk/gtk.h>
> +#pragma GCC diagnostic error "-Wundef"
> #pragma GCC diagnostic error "-Wstrict-prototypes"
>
> #endif /* _PERF_GTK_H_ */
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
@ 2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 20:20 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Ingo Molnar <mingo@kernel.org> wrote:
> I noticed that there's no help text for GTK support - how will a
> user find that 'perf report --gtk' will do something nice?
Ignore this one - I forgot to do 'make install-doc'.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:47 ` Ingo Molnar
@ 2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 19:56 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Ingo Molnar <mingo@kernel.org> wrote:
> diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
> index 8046182..68cf795 100644
> --- a/tools/perf/config/utilities.mak
> +++ b/tools/perf/config/utilities.mak
> @@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
> # Usage: option = $(call try-cc, source-to-build, cc-options)
> try-cc = $(shell sh -c \
> 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> + echo "$(1)" > test.$$$$.c; \
> + echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
> echo "$(1)" | \
> $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
> rm -f "$$TMP"')
So, instead of this hack we'd like to output the build failure
that gcc gives, when 'make V=1' is specified or so.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-03-19 19:12 Arnaldo Carvalho de Melo
@ 2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
` (2 more replies)
0 siblings, 3 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-03-19 19:47 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Colin Walters, Namhyung Kim, Namhyung Kim,
Paul Mackerras, Pekka Enberg, Peter Zijlstra, arnaldo.melo,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling, now there are two pull request worth of
> changesets in my perf/core branch,
>
> - Arnaldo
>
> The following changes since commit 6db6127c4dad634ab98709b81e2f2770890b0d53:
>
> perf report: Treat an argument as a symbol filter (2012-03-16 16:44:36 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
>
> for you to fetch changes up to c31a94570552dcaa517c4f7a043ffd28835016be:
>
> perf report: Add a simple GTK2-based 'perf report' browser (2012-03-19 15:13:29 -0300)
>
> ----------------------------------------------------------------
> Fixes for the last batch from Namhyung and the initial GTK report browser
> from Pekka.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Namhyung Kim (2):
> perf ui browser: Clean lines inside of the input window
> perf report: Document --symbol-filter option
>
> Pekka Enberg (1):
> perf report: Add a simple GTK2-based 'perf report' browser
>
> tools/perf/Documentation/perf-report.txt | 5 +
> tools/perf/Makefile | 14 +++
> tools/perf/builtin-report.c | 19 ++-
> tools/perf/config/feature-tests.mak | 15 +++
> tools/perf/util/cache.h | 12 ++
> tools/perf/util/gtk/browser.c | 189 ++++++++++++++++++++++++++++++
> tools/perf/util/gtk/gtk.h | 8 ++
> tools/perf/util/hist.h | 17 +++
> tools/perf/util/ui/util.c | 10 +-
> 9 files changed, 282 insertions(+), 7 deletions(-)
> create mode 100644 tools/perf/util/gtk/browser.c
> create mode 100644 tools/perf/util/gtk/gtk.h
Pulled, thanks Arnaldo!
I noticed that there's no help text for GTK support - how will a
user find that 'perf report --gtk' will do something nice?
Another detail is that if GTK support is not compiled in:
Makefile:515: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
then the --gtk output is not very informative:
earth5:~/tip/tools/perf> perf report --gtk
earth5:~/tip/tools/perf>
:-)
A third detail, I do have gtk2-devel installed:
Package gtk2-devel-2.24.10-1.fc17.x86_64 already installed and latest version
yet I got the above message.
It is not easy to figure out *why* a feature test failed,
unfortunately. It would be nice if V=1 or something like that
would output the failure.
I applied the hack below and ran the gtk testcase, which gave:
earth5:~/tip/tools/perf> . ./test.4273.sh
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:0,
from /usr/include/glib-2.0/glib/gtypes.h:34,
from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:30,
from /usr/include/glib-2.0/glib-object.h:25,
from /usr/include/glib-2.0/gio/gioenums.h:30,
from /usr/include/glib-2.0/gio/giotypes.h:30,
from /usr/include/glib-2.0/gio/gio.h:28,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from test.4273.c:2:
/usr/include/glib-2.0/glib/gmacros.h:346:7: error: "_MSC_VER" is not defined [-Werror=undef]
cc1: all warnings being treated as errors
Which allowed me to fix the feature test and the gtk.h include
file wrapper via the second patch below.
And then I was greeted by the GTK report window on 'perf report
--gtk' ;-)
Thanks,
Ingo
diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
index 8046182..68cf795 100644
--- a/tools/perf/config/utilities.mak
+++ b/tools/perf/config/utilities.mak
@@ -183,6 +183,8 @@ _gea_err = $(if $(1),$(error Please set '$(1)' appropriately))
# Usage: option = $(call try-cc, source-to-build, cc-options)
try-cc = $(shell sh -c \
'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
+ echo "$(1)" > test.$$$$.c; \
+ echo $(CC) -x c test.$$$$.c $(2) -o "$$TMP" > test.$$$$.sh; \
echo "$(1)" | \
$(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
rm -f "$$TMP"')
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/tools/perf/config/feature-tests.mak b/tools/perf/config/feature-tests.mak
index d9084e0..ae8b471 100644
--- a/tools/perf/config/feature-tests.mak
+++ b/tools/perf/config/feature-tests.mak
@@ -68,7 +68,9 @@ endif
ifndef NO_GTK2
define SOURCE_GTK2
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#pragma GCC diagnostic ignored \"-Wundef\"
#include <gtk/gtk.h>
+#pragma GCC diagnostic error \"-Wundef\"
#pragma GCC diagnostic error \"-Wstrict-prototypes\"
int main(int argc, char *argv[])
diff --git a/tools/perf/util/gtk/gtk.h b/tools/perf/util/gtk/gtk.h
index 75177ee..c7a941f 100644
--- a/tools/perf/util/gtk/gtk.h
+++ b/tools/perf/util/gtk/gtk.h
@@ -2,7 +2,9 @@
#define _PERF_GTK_H_ 1
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
+#pragma GCC diagnostic ignored "-Wundef"
#include <gtk/gtk.h>
+#pragma GCC diagnostic error "-Wundef"
#pragma GCC diagnostic error "-Wstrict-prototypes"
#endif /* _PERF_GTK_H_ */
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2012-03-19 19:12 Arnaldo Carvalho de Melo
2012-03-19 19:47 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-03-19 19:12 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Colin Walters,
Namhyung Kim, Namhyung Kim, Paul Mackerras, Pekka Enberg,
Peter Zijlstra, arnaldo.melo, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling, now there are two pull request worth of
changesets in my perf/core branch,
- Arnaldo
The following changes since commit 6db6127c4dad634ab98709b81e2f2770890b0d53:
perf report: Treat an argument as a symbol filter (2012-03-16 16:44:36 -0300)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to c31a94570552dcaa517c4f7a043ffd28835016be:
perf report: Add a simple GTK2-based 'perf report' browser (2012-03-19 15:13:29 -0300)
----------------------------------------------------------------
Fixes for the last batch from Namhyung and the initial GTK report browser
from Pekka.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Namhyung Kim (2):
perf ui browser: Clean lines inside of the input window
perf report: Document --symbol-filter option
Pekka Enberg (1):
perf report: Add a simple GTK2-based 'perf report' browser
tools/perf/Documentation/perf-report.txt | 5 +
tools/perf/Makefile | 14 +++
tools/perf/builtin-report.c | 19 ++-
tools/perf/config/feature-tests.mak | 15 +++
tools/perf/util/cache.h | 12 ++
tools/perf/util/gtk/browser.c | 189 ++++++++++++++++++++++++++++++
tools/perf/util/gtk/gtk.h | 8 ++
tools/perf/util/hist.h | 17 +++
tools/perf/util/ui/util.c | 10 +-
9 files changed, 282 insertions(+), 7 deletions(-)
create mode 100644 tools/perf/util/gtk/browser.c
create mode 100644 tools/perf/util/gtk/gtk.h
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2012-02-21 17:35 Arnaldo Carvalho de Melo
@ 2012-02-22 10:12 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2012-02-22 10:12 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Danny Kukawka, Danny Kukawka, David Ahern,
Eric Dumazet, Jovi Zhang, Masami Hiramatsu, Paul Mackerras,
Peter Zijlstra, Stefan Hajnoczi, Stephane Eranian,
Steven Rostedt, arnaldo.melo, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> The following changes since commit 09bda4432a8a4d4db2b2b94697abc8d732a9ff73:
>
> Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core (2012-02-17 12:55:07 +0100)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
>
> for you to fetch changes up to 6b1bee9035d430c4b4f586df6df4b3f840e89b5b:
>
> perf tools: fix broken perf record -a mode (2012-02-21 15:05:43 -0200)
>
> ----------------------------------------------------------------
> Important fix from Stephane for system wide monitoring, problem
> introduced recently in the pid list patches.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Danny Kukawka (1):
> perf tools: Remove duplicated string.h includes
>
> Stefan Hajnoczi (1):
> perf tools: Allow expressions in __print_symbolic() fields
>
> Stephane Eranian (1):
> perf tools: fix broken perf record -a mode
>
> tools/perf/util/probe-event.c | 1 -
> tools/perf/util/thread_map.c | 2 +-
> tools/perf/util/trace-event-parse.c | 12 ++++++++++++
> 3 files changed, 13 insertions(+), 2 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2012-02-21 17:35 Arnaldo Carvalho de Melo
2012-02-22 10:12 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-21 17:35 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Danny Kukawka,
Danny Kukawka, David Ahern, Eric Dumazet, Jovi Zhang,
Masami Hiramatsu, Paul Mackerras, Peter Zijlstra,
Stefan Hajnoczi, Stephane Eranian, Steven Rostedt, arnaldo.melo,
Arnaldo Carvalho de Melo
The following changes since commit 09bda4432a8a4d4db2b2b94697abc8d732a9ff73:
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core (2012-02-17 12:55:07 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
for you to fetch changes up to 6b1bee9035d430c4b4f586df6df4b3f840e89b5b:
perf tools: fix broken perf record -a mode (2012-02-21 15:05:43 -0200)
----------------------------------------------------------------
Important fix from Stephane for system wide monitoring, problem
introduced recently in the pid list patches.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Danny Kukawka (1):
perf tools: Remove duplicated string.h includes
Stefan Hajnoczi (1):
perf tools: Allow expressions in __print_symbolic() fields
Stephane Eranian (1):
perf tools: fix broken perf record -a mode
tools/perf/util/probe-event.c | 1 -
tools/perf/util/thread_map.c | 2 +-
tools/perf/util/trace-event-parse.c | 12 ++++++++++++
3 files changed, 13 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-12-12 13:26 Arnaldo Carvalho de Melo
@ 2011-12-12 17:24 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-12-12 17:24 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Andrew Vagin, Arun Sharma, David Ahern, devel,
Paul Mackerras, Peter Zijlstra, Robert Richter, arnaldo.melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://github.com/acmel/linux.git perf/core
>
> Regards,
>
> - Arnaldo
>
> Andrew Vagin (1):
> perf tools: Add ability to synthesize event according to a sample
>
> Robert Richter (2):
> perf script: Fix mem leaks and NULL pointer checks around strdup()s
> perf script: Implement option for system-wide profiling
>
> tools/perf/builtin-script.c | 63 +++++++++++++++++++++-------------
> tools/perf/util/event.h | 3 ++
> tools/perf/util/evsel.c | 79 +++++++++++++++++++++++++++++++++++++++++++
> tools/perf/util/session.h | 8 ++++
> 4 files changed, 129 insertions(+), 24 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-12-12 13:26 Arnaldo Carvalho de Melo
2011-12-12 17:24 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-12-12 13:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Andrew Vagin,
Arun Sharma, David Ahern, devel, Paul Mackerras, Peter Zijlstra,
Robert Richter, arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
Regards,
- Arnaldo
Andrew Vagin (1):
perf tools: Add ability to synthesize event according to a sample
Robert Richter (2):
perf script: Fix mem leaks and NULL pointer checks around strdup()s
perf script: Implement option for system-wide profiling
tools/perf/builtin-script.c | 63 +++++++++++++++++++++-------------
tools/perf/util/event.h | 3 ++
tools/perf/util/evsel.c | 79 +++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/session.h | 8 ++++
4 files changed, 129 insertions(+), 24 deletions(-)
--
1.7.8.rc0.35.gee6df
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2011-10-29 17:25 Arnaldo Carvalho de Melo
@ 2011-10-30 11:04 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2011-10-30 11:04 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, David Ahern, Frederic Weisbecker, Masami Hiramatsu,
Mike Galbraith, Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Steven Rostedt, yrl.pp-manager.tt, arnaldo.melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://github.com/acmel/linux.git perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (2):
> perf hists browser: Warn about lost events
> perf report: Add progress bar when processing time ordered events
>
> Masami Hiramatsu (1):
> perf tools: Fix a typo of command name as trace-cmd
>
> tools/perf/builtin-top.c | 41 +++++++++++++++++++++--------
> tools/perf/util/hist.h | 1 +
> tools/perf/util/session.c | 38 ++++++++++++++++++++++----
> tools/perf/util/session.h | 1 +
> tools/perf/util/top.h | 1 -
> tools/perf/util/trace-event-info.c | 2 +-
> tools/perf/util/ui/browser.c | 21 ++++++++++++---
> tools/perf/util/ui/browser.h | 3 +-
> tools/perf/util/ui/browsers/hists.c | 49 ++++++++++++++++++++++++++++++----
> 9 files changed, 127 insertions(+), 30 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2011-10-29 17:25 Arnaldo Carvalho de Melo
2011-10-30 11:04 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-29 17:25 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
Frederic Weisbecker, Masami Hiramatsu, Mike Galbraith,
Paul Mackerras, Peter Zijlstra, Stephane Eranian, Steven Rostedt,
yrl.pp-manager.tt, arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (2):
perf hists browser: Warn about lost events
perf report: Add progress bar when processing time ordered events
Masami Hiramatsu (1):
perf tools: Fix a typo of command name as trace-cmd
tools/perf/builtin-top.c | 41 +++++++++++++++++++++--------
tools/perf/util/hist.h | 1 +
tools/perf/util/session.c | 38 ++++++++++++++++++++++----
tools/perf/util/session.h | 1 +
tools/perf/util/top.h | 1 -
tools/perf/util/trace-event-info.c | 2 +-
tools/perf/util/ui/browser.c | 21 ++++++++++++---
tools/perf/util/ui/browser.h | 3 +-
tools/perf/util/ui/browsers/hists.c | 49 ++++++++++++++++++++++++++++++----
9 files changed, 127 insertions(+), 30 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-12-22 22:36 Arnaldo Carvalho de Melo
@ 2010-12-23 13:20 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-12-23 13:20 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Franck Bui-Huu, Frederic Weisbecker, Han Pingtian,
H . Peter Anvin, Masami Hiramatsu, Mike Galbraith,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Thomas Gleixner, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (2):
> perf symbols: Improve kallsyms symbol end addr calculation
> perf test: Look forward for symbol aliases
>
> Franck Bui-Huu (1):
> perf probe: Fix wrong warning in __show_one_line() if read(1) errors
> happen
>
> tools/perf/builtin-test.c | 23 ++++++++++++++---
> tools/perf/util/event.c | 3 +-
> tools/perf/util/probe-event.c | 2 +-
> tools/perf/util/symbol.c | 56 ++++++++++++++++++++++++++++++----------
> tools/perf/util/symbol.h | 2 +-
> 5 files changed, 65 insertions(+), 21 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-12-22 22:36 Arnaldo Carvalho de Melo
2010-12-23 13:20 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-12-22 22:36 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Franck Bui-Huu,
Frederic Weisbecker, Han Pingtian, H . Peter Anvin, Ingo Molnar,
Masami Hiramatsu, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Thomas Gleixner, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (2):
perf symbols: Improve kallsyms symbol end addr calculation
perf test: Look forward for symbol aliases
Franck Bui-Huu (1):
perf probe: Fix wrong warning in __show_one_line() if read(1) errors
happen
tools/perf/builtin-test.c | 23 ++++++++++++++---
tools/perf/util/event.c | 3 +-
tools/perf/util/probe-event.c | 2 +-
tools/perf/util/symbol.c | 56 ++++++++++++++++++++++++++++++----------
tools/perf/util/symbol.h | 2 +-
5 files changed, 65 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-12 20:45 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-12 20:45 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Mike Galbraith, Peter Zijlstra, Stephane Eranian
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf ui browser: Return the exit key in all browsers
perf ui browser: Add routines to compactly specify exit keys
perf ui browser: Abstract some more slang operations
tools/perf/builtin-annotate.c | 17 ++--
tools/perf/util/ui/browser.c | 93 +++++++++++--------
tools/perf/util/ui/browser.h | 9 ++-
tools/perf/util/ui/browsers/annotate.c | 37 ++++----
tools/perf/util/ui/browsers/hists.c | 157 ++++++++++++++------------------
tools/perf/util/ui/browsers/map.c | 23 ++---
tools/perf/util/ui/util.c | 4 +-
tools/perf/util/util.h | 13 ---
8 files changed, 161 insertions(+), 192 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-08-04 21:26 Arnaldo Carvalho de Melo
@ 2010-08-05 6:46 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-08-05 6:46 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Anton Blanchard, Dave Martin, Masami Hiramatsu,
Nicolas Pitre, Srikar Dronamraju, Steven Rostedt, Will Deacon,
Frédéric Weisbecker, Peter Zijlstra, Thomas Gleixner
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
>
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Dave Martin (1):
> perf events: Fix mmap offset determination
>
> Srikar Dronamraju (2):
> perf: expose event__process function
> tracing/kprobes: unregister_trace_probe needs to be called under mutex
>
> kernel/trace/trace_kprobe.c | 3 +++
> tools/perf/builtin-top.c | 20 --------------------
> tools/perf/util/event.c | 28 +++++++++++++++++++++-------
> tools/perf/util/event.h | 1 +
> 4 files changed, 25 insertions(+), 27 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-04 21:26 Arnaldo Carvalho de Melo
2010-08-05 6:46 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-04 21:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Anton Blanchard,
Dave Martin, Ingo Molnar, Masami Hiramatsu, Nicolas Pitre,
Srikar Dronamraju, Steven Rostedt, Will Deacon
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Dave Martin (1):
perf events: Fix mmap offset determination
Srikar Dronamraju (2):
perf: expose event__process function
tracing/kprobes: unregister_trace_probe needs to be called under mutex
kernel/trace/trace_kprobe.c | 3 +++
tools/perf/builtin-top.c | 20 --------------------
tools/perf/util/event.c | 28 +++++++++++++++++++++-------
tools/perf/util/event.h | 1 +
4 files changed, 25 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-08-03 2:09 Arnaldo Carvalho de Melo
@ 2010-08-03 5:44 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-08-03 5:44 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Frederic Weisbecker, Mike Galbraith,
Peter Zijlstra, Stephane Eranian
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (3):
> perf session: Free the ref_reloc_sym memory at the right place
> perf session: Invalidate last_match when removing threads from rb_tree
> perf tools: Don't keep unreferenced maps when unmaps are detected
>
> tools/perf/util/hist.c | 2 +
> tools/perf/util/map.c | 49 +++++++++++++++++++++++++++++---------------
> tools/perf/util/map.h | 10 ++++++++-
> tools/perf/util/session.c | 8 +++++++
> tools/perf/util/symbol.c | 43 +++++++++++++++++++++++++++++++++++++++
> tools/perf/util/symbol.h | 2 +
> 6 files changed, 96 insertions(+), 18 deletions(-)
Pulled, thanks Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-08-03 2:09 Arnaldo Carvalho de Melo
2010-08-03 5:44 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-08-03 2:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Mike Galbraith, Peter Zijlstra, Stephane Eranian
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (3):
perf session: Free the ref_reloc_sym memory at the right place
perf session: Invalidate last_match when removing threads from rb_tree
perf tools: Don't keep unreferenced maps when unmaps are detected
tools/perf/util/hist.c | 2 +
tools/perf/util/map.c | 49 +++++++++++++++++++++++++++++---------------
tools/perf/util/map.h | 10 ++++++++-
tools/perf/util/session.c | 8 +++++++
tools/perf/util/symbol.c | 43 +++++++++++++++++++++++++++++++++++++++
tools/perf/util/symbol.h | 2 +
6 files changed, 96 insertions(+), 18 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [GIT PULL 0/3] perf/core fixes and improvements
2010-07-16 18:09 Arnaldo Carvalho de Melo
@ 2010-07-17 9:35 ` Ingo Molnar
0 siblings, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2010-07-17 9:35 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, Chase Douglas, Masami Hiramatsu
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
>
> Regards,
>
> - Arnaldo
>
> Masami Hiramatsu (3):
> perf probe: Fix error message if get_real_path() failed
> perf probe: Support comp_dir to find an absolute source path
> perf probe: Fix the logic of die_compare_name
>
> tools/perf/util/probe-event.c | 69 ++++++++++++++++++++++++++++
> tools/perf/util/probe-event.h | 1 +
> tools/perf/util/probe-finder.c | 96 ++++++++++++++--------------------------
> 3 files changed, 103 insertions(+), 63 deletions(-)
Pulled, thanks Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [GIT PULL 0/3] perf/core fixes and improvements
@ 2010-07-16 18:09 Arnaldo Carvalho de Melo
2010-07-17 9:35 ` Ingo Molnar
0 siblings, 1 reply; 25+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-16 18:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Chase Douglas,
Ingo Molnar, Masami Hiramatsu
Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Masami Hiramatsu (3):
perf probe: Fix error message if get_real_path() failed
perf probe: Support comp_dir to find an absolute source path
perf probe: Fix the logic of die_compare_name
tools/perf/util/probe-event.c | 69 ++++++++++++++++++++++++++++
tools/perf/util/probe-event.h | 1 +
tools/perf/util/probe-finder.c | 96 ++++++++++++++--------------------------
3 files changed, 103 insertions(+), 63 deletions(-)
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2012-03-19 21:17 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-23 22:52 [GIT PULL 0/3] perf/core fixes and improvements Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 1/3] perf session: Pass evsel in event_ops->sample() Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 2/3] perf build-id: Add quirk to deal with perf.data file format breakage Arnaldo Carvalho de Melo
2011-03-23 22:52 ` [PATCH 3/3] perf symbols: Look at .dynsym again if .symtab not found Arnaldo Carvalho de Melo
2011-03-24 8:17 ` [GIT PULL 0/3] perf/core fixes and improvements Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2012-03-19 19:12 Arnaldo Carvalho de Melo
2012-03-19 19:47 ` Ingo Molnar
2012-03-19 19:56 ` Ingo Molnar
2012-03-19 20:20 ` Ingo Molnar
2012-03-19 21:17 ` Arnaldo Carvalho de Melo
2012-02-21 17:35 Arnaldo Carvalho de Melo
2012-02-22 10:12 ` Ingo Molnar
2011-12-12 13:26 Arnaldo Carvalho de Melo
2011-12-12 17:24 ` Ingo Molnar
2011-10-29 17:25 Arnaldo Carvalho de Melo
2011-10-30 11:04 ` Ingo Molnar
2010-12-22 22:36 Arnaldo Carvalho de Melo
2010-12-23 13:20 ` Ingo Molnar
2010-08-12 20:45 Arnaldo Carvalho de Melo
2010-08-04 21:26 Arnaldo Carvalho de Melo
2010-08-05 6:46 ` Ingo Molnar
2010-08-03 2:09 Arnaldo Carvalho de Melo
2010-08-03 5:44 ` Ingo Molnar
2010-07-16 18:09 Arnaldo Carvalho de Melo
2010-07-17 9:35 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®