2014-02-04 14:38:14

by Jiri Olsa

[permalink] [raw]
Subject: [PATCH] perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly

We removed event types from data file in following commits:
6065210 perf tools: Remove event types framework completely
44b3c57 perf tools: Remove event types from perf data file

We no longer need this information, because we can get it
directly from tracepoints.

But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE
event for the sake of old perf data files created in pipe
mode like:

$ perf.3.4 record -o - foo >perf.data
$ perf.312 report -i - < perf.data

Reported-by: Stephane Eranian <[email protected]>
Signed-off-by: Jiri Olsa <[email protected]>
Cc: Corey Ashford <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: David Ahern <[email protected]>
---
tools/perf/util/session.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 0b39a48..5da6ce7 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1008,6 +1008,12 @@ static int perf_session__process_user_event(struct perf_session *session, union
if (err == 0)
perf_session__set_id_hdr_size(session);
return err;
+ case PERF_RECORD_HEADER_EVENT_TYPE:
+ /*
+ * Depreceated, but we need to handle it for sake
+ * of old data files create in pipe mode.
+ */
+ return 0;
case PERF_RECORD_HEADER_TRACING_DATA:
/* setup for reading amidst mmap */
lseek(fd, file_offset, SEEK_SET);
--
1.8.3.1


2014-02-05 05:55:56

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly


* Jiri Olsa <[email protected]> wrote:

> We removed event types from data file in following commits:
> 6065210 perf tools: Remove event types framework completely
> 44b3c57 perf tools: Remove event types from perf data file
>
> We no longer need this information, because we can get it
> directly from tracepoints.
>
> But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE
> event for the sake of old perf data files created in pipe
> mode like:
>
> $ perf.3.4 record -o - foo >perf.data
> $ perf.312 report -i - < perf.data
>
> Reported-by: Stephane Eranian <[email protected]>
> Signed-off-by: Jiri Olsa <[email protected]>
> Cc: Corey Ashford <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Cc: David Ahern <[email protected]>
> ---
> tools/perf/util/session.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 0b39a48..5da6ce7 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -1008,6 +1008,12 @@ static int perf_session__process_user_event(struct perf_session *session, union
> if (err == 0)
> perf_session__set_id_hdr_size(session);
> return err;
> + case PERF_RECORD_HEADER_EVENT_TYPE:
> + /*
> + * Depreceated, but we need to handle it for sake
> + * of old data files create in pipe mode.
> + */

Two small speling nits:

s/Depreceated
/Deprecated

s/create
/created

Ack otherwise.

Thanks,

Ingo

2014-02-05 09:04:14

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly

On Wed, Feb 05, 2014 at 06:55:52AM +0100, Ingo Molnar wrote:
>
> * Jiri Olsa <[email protected]> wrote:
>
> > We removed event types from data file in following commits:
> > 6065210 perf tools: Remove event types framework completely
> > 44b3c57 perf tools: Remove event types from perf data file
> >
> > We no longer need this information, because we can get it
> > directly from tracepoints.
> >
> > But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE
> > event for the sake of old perf data files created in pipe
> > mode like:
> >
> > $ perf.3.4 record -o - foo >perf.data
> > $ perf.312 report -i - < perf.data
> >
> > Reported-by: Stephane Eranian <[email protected]>
> > Signed-off-by: Jiri Olsa <[email protected]>
> > Cc: Corey Ashford <[email protected]>
> > Cc: Frederic Weisbecker <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Namhyung Kim <[email protected]>
> > Cc: Paul Mackerras <[email protected]>
> > Cc: Peter Zijlstra <[email protected]>
> > Cc: Arnaldo Carvalho de Melo <[email protected]>
> > Cc: David Ahern <[email protected]>
> > ---
> > tools/perf/util/session.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> > index 0b39a48..5da6ce7 100644
> > --- a/tools/perf/util/session.c
> > +++ b/tools/perf/util/session.c
> > @@ -1008,6 +1008,12 @@ static int perf_session__process_user_event(struct perf_session *session, union
> > if (err == 0)
> > perf_session__set_id_hdr_size(session);
> > return err;
> > + case PERF_RECORD_HEADER_EVENT_TYPE:
> > + /*
> > + * Depreceated, but we need to handle it for sake
> > + * of old data files create in pipe mode.
> > + */
>
> Two small speling nits:
>
> s/Depreceated
> /Deprecated
>
> s/create
> /created
>
> Ack otherwise.
>
> Thanks,
>
> Ingo

ugh, my spell checker sux.. ;-\ acme, beer for each correction? ;-)

thanks,
jirka

2014-02-05 13:25:17

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly

Em Wed, Feb 05, 2014 at 10:03:39AM +0100, Jiri Olsa escreveu:
> On Wed, Feb 05, 2014 at 06:55:52AM +0100, Ingo Molnar wrote:
> >
> > * Jiri Olsa <[email protected]> wrote:
> >
> > > We removed event types from data file in following commits:
> > > 6065210 perf tools: Remove event types framework completely
> > > 44b3c57 perf tools: Remove event types from perf data file
> > >
> > > We no longer need this information, because we can get it
> > > directly from tracepoints.
> > >
> > > But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE
> > > event for the sake of old perf data files created in pipe
> > > mode like:
> > >
> > > $ perf.3.4 record -o - foo >perf.data
> > > $ perf.312 report -i - < perf.data
> > >
> > > Reported-by: Stephane Eranian <[email protected]>
> > > Signed-off-by: Jiri Olsa <[email protected]>
> > > Cc: Corey Ashford <[email protected]>
> > > Cc: Frederic Weisbecker <[email protected]>
> > > Cc: Ingo Molnar <[email protected]>
> > > Cc: Namhyung Kim <[email protected]>
> > > Cc: Paul Mackerras <[email protected]>
> > > Cc: Peter Zijlstra <[email protected]>
> > > Cc: Arnaldo Carvalho de Melo <[email protected]>
> > > Cc: David Ahern <[email protected]>
> > > ---
> > > tools/perf/util/session.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> > > index 0b39a48..5da6ce7 100644
> > > --- a/tools/perf/util/session.c
> > > +++ b/tools/perf/util/session.c
> > > @@ -1008,6 +1008,12 @@ static int perf_session__process_user_event(struct perf_session *session, union
> > > if (err == 0)
> > > perf_session__set_id_hdr_size(session);
> > > return err;
> > > + case PERF_RECORD_HEADER_EVENT_TYPE:
> > > + /*
> > > + * Depreceated, but we need to handle it for sake
> > > + * of old data files create in pipe mode.
> > > + */
> >
> > Two small speling nits:
> >
> > s/Depreceated
> > /Deprecated
> >
> > s/create
> > /created
> >
> > Ack otherwise.
> >
> > Thanks,
> >
> > Ingo
>
> ugh, my spell checker sux.. ;-\ acme, beer for each correction? ;-)

two for each, deal.

- Arnaldo

Subject: [tip:perf/core] perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly

Commit-ID: f67697bd079f4bbcbe7d6d26765a06b18afe0630
Gitweb: http://git.kernel.org/tip/f67697bd079f4bbcbe7d6d26765a06b18afe0630
Author: Jiri Olsa <[email protected]>
AuthorDate: Tue, 4 Feb 2014 15:37:48 +0100
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 10 Feb 2014 11:34:31 -0300

perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly

We removed event types from data file in following commits:

6065210 perf tools: Remove event types framework completely
44b3c57 perf tools: Remove event types from perf data file

We no longer need this information, because we can get it directly from
tracepoints.

But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE event for the
sake of old perf data files created in pipe mode like:

$ perf.3.4 record -o - foo >perf.data
$ perf.312 report -i - < perf.data

Reported-by: Stephane Eranian <[email protected]>
Signed-off-by: Jiri Olsa <[email protected]>
Cc: Corey Ashford <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/session.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 0b39a48..5da6ce7 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1008,6 +1008,12 @@ static int perf_session__process_user_event(struct perf_session *session, union
if (err == 0)
perf_session__set_id_hdr_size(session);
return err;
+ case PERF_RECORD_HEADER_EVENT_TYPE:
+ /*
+ * Depreceated, but we need to handle it for sake
+ * of old data files create in pipe mode.
+ */
+ return 0;
case PERF_RECORD_HEADER_TRACING_DATA:
/* setup for reading amidst mmap */
lseek(fd, file_offset, SEEK_SET);