Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Adrian Hunter
On 18/01/18 18:29, Arnaldo Carvalho de Melo wrote:
> Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
>> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
>> events) breaks intelPT trace decoding by invariably returning an error if
>> the event type isn't a PERF_SAMPLE_TIME.
> 
> Adrian, have you had the chance of looking at this?
> 
> I'm tentatively applying with Jiri's ack.

Yes, it is fine.  FWIW

Acked-by: Adrian Hunter 

> 
> - Arnaldo
>  
>> With this patch the timestamp is initialised and processing is allowed to
>> continue if the error returned by function
>> perf_evlist__parse_sample_timestamp() is not a fault.
>>
>> Signed-off-by: Mathieu Poirier 
>> Acked-by: Jiri Olsa 
>> ---
>> Changes for v4:
>> - Rebased to latest perf/core branch
>> - Added Jiri's ACK
>> ---
>>  tools/perf/util/session.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
>> index 54e30f1bcbd7..07221884f725 100644
>> --- a/tools/perf/util/session.c
>> +++ b/tools/perf/util/session.c
>> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
>> perf_session *session,
>>  return perf_session__process_user_event(session, event, 
>> file_offset);
>>  
>>  if (tool->ordered_events) {
>> -u64 timestamp;
>> +u64 timestamp = -1ULL;
>>  
>>  ret = perf_evlist__parse_sample_timestamp(evlist, event, 
>> );
>> -if (ret)
>> +if (ret && ret != -1)
>>  return ret;
>>  
>>  ret = perf_session__queue_event(session, event, timestamp, 
>> file_offset);
>> -- 
>> 2.7.4
> 



Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Adrian Hunter
On 18/01/18 18:29, Arnaldo Carvalho de Melo wrote:
> Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
>> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
>> events) breaks intelPT trace decoding by invariably returning an error if
>> the event type isn't a PERF_SAMPLE_TIME.
> 
> Adrian, have you had the chance of looking at this?
> 
> I'm tentatively applying with Jiri's ack.

Yes, it is fine.  FWIW

Acked-by: Adrian Hunter 

> 
> - Arnaldo
>  
>> With this patch the timestamp is initialised and processing is allowed to
>> continue if the error returned by function
>> perf_evlist__parse_sample_timestamp() is not a fault.
>>
>> Signed-off-by: Mathieu Poirier 
>> Acked-by: Jiri Olsa 
>> ---
>> Changes for v4:
>> - Rebased to latest perf/core branch
>> - Added Jiri's ACK
>> ---
>>  tools/perf/util/session.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
>> index 54e30f1bcbd7..07221884f725 100644
>> --- a/tools/perf/util/session.c
>> +++ b/tools/perf/util/session.c
>> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
>> perf_session *session,
>>  return perf_session__process_user_event(session, event, 
>> file_offset);
>>  
>>  if (tool->ordered_events) {
>> -u64 timestamp;
>> +u64 timestamp = -1ULL;
>>  
>>  ret = perf_evlist__parse_sample_timestamp(evlist, event, 
>> );
>> -if (ret)
>> +if (ret && ret != -1)
>>  return ret;
>>  
>>  ret = perf_session__queue_event(session, event, timestamp, 
>> file_offset);
>> -- 
>> 2.7.4
> 



Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Arnaldo Carvalho de Melo
Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
> events) breaks intelPT trace decoding by invariably returning an error if
> the event type isn't a PERF_SAMPLE_TIME.

Adrian, have you had the chance of looking at this?

I'm tentatively applying with Jiri's ack.

- Arnaldo
 
> With this patch the timestamp is initialised and processing is allowed to
> continue if the error returned by function
> perf_evlist__parse_sample_timestamp() is not a fault.
> 
> Signed-off-by: Mathieu Poirier 
> Acked-by: Jiri Olsa 
> ---
> Changes for v4:
> - Rebased to latest perf/core branch
> - Added Jiri's ACK
> ---
>  tools/perf/util/session.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 54e30f1bcbd7..07221884f725 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
> perf_session *session,
>   return perf_session__process_user_event(session, event, 
> file_offset);
>  
>   if (tool->ordered_events) {
> - u64 timestamp;
> + u64 timestamp = -1ULL;
>  
>   ret = perf_evlist__parse_sample_timestamp(evlist, event, 
> );
> - if (ret)
> + if (ret && ret != -1)
>   return ret;
>  
>   ret = perf_session__queue_event(session, event, timestamp, 
> file_offset);
> -- 
> 2.7.4


Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Arnaldo Carvalho de Melo
Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
> events) breaks intelPT trace decoding by invariably returning an error if
> the event type isn't a PERF_SAMPLE_TIME.

Adrian, have you had the chance of looking at this?

I'm tentatively applying with Jiri's ack.

- Arnaldo
 
> With this patch the timestamp is initialised and processing is allowed to
> continue if the error returned by function
> perf_evlist__parse_sample_timestamp() is not a fault.
> 
> Signed-off-by: Mathieu Poirier 
> Acked-by: Jiri Olsa 
> ---
> Changes for v4:
> - Rebased to latest perf/core branch
> - Added Jiri's ACK
> ---
>  tools/perf/util/session.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 54e30f1bcbd7..07221884f725 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
> perf_session *session,
>   return perf_session__process_user_event(session, event, 
> file_offset);
>  
>   if (tool->ordered_events) {
> - u64 timestamp;
> + u64 timestamp = -1ULL;
>  
>   ret = perf_evlist__parse_sample_timestamp(evlist, event, 
> );
> - if (ret)
> + if (ret && ret != -1)
>   return ret;
>  
>   ret = perf_session__queue_event(session, event, timestamp, 
> file_offset);
> -- 
> 2.7.4


Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Arnaldo Carvalho de Melo
Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
> events) breaks intelPT trace decoding by invariably returning an error if
> the event type isn't a PERF_SAMPLE_TIME.

Thanks, applied.
 
> With this patch the timestamp is initialised and processing is allowed to
> continue if the error returned by function
> perf_evlist__parse_sample_timestamp() is not a fault.
> 
> Signed-off-by: Mathieu Poirier 
> Acked-by: Jiri Olsa 
> ---
> Changes for v4:
> - Rebased to latest perf/core branch
> - Added Jiri's ACK
> ---
>  tools/perf/util/session.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 54e30f1bcbd7..07221884f725 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
> perf_session *session,
>   return perf_session__process_user_event(session, event, 
> file_offset);
>  
>   if (tool->ordered_events) {
> - u64 timestamp;
> + u64 timestamp = -1ULL;
>  
>   ret = perf_evlist__parse_sample_timestamp(evlist, event, 
> );
> - if (ret)
> + if (ret && ret != -1)
>   return ret;
>  
>   ret = perf_session__queue_event(session, event, timestamp, 
> file_offset);
> -- 
> 2.7.4


Re: [PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-18 Thread Arnaldo Carvalho de Melo
Em Wed, Jan 10, 2018 at 01:31:52PM -0700, Mathieu Poirier escreveu:
> Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
> events) breaks intelPT trace decoding by invariably returning an error if
> the event type isn't a PERF_SAMPLE_TIME.

Thanks, applied.
 
> With this patch the timestamp is initialised and processing is allowed to
> continue if the error returned by function
> perf_evlist__parse_sample_timestamp() is not a fault.
> 
> Signed-off-by: Mathieu Poirier 
> Acked-by: Jiri Olsa 
> ---
> Changes for v4:
> - Rebased to latest perf/core branch
> - Added Jiri's ACK
> ---
>  tools/perf/util/session.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 54e30f1bcbd7..07221884f725 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
> perf_session *session,
>   return perf_session__process_user_event(session, event, 
> file_offset);
>  
>   if (tool->ordered_events) {
> - u64 timestamp;
> + u64 timestamp = -1ULL;
>  
>   ret = perf_evlist__parse_sample_timestamp(evlist, event, 
> );
> - if (ret)
> + if (ret && ret != -1)
>   return ret;
>  
>   ret = perf_session__queue_event(session, event, timestamp, 
> file_offset);
> -- 
> 2.7.4


[PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-10 Thread Mathieu Poirier
Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
events) breaks intelPT trace decoding by invariably returning an error if
the event type isn't a PERF_SAMPLE_TIME.

With this patch the timestamp is initialised and processing is allowed to
continue if the error returned by function
perf_evlist__parse_sample_timestamp() is not a fault.

Signed-off-by: Mathieu Poirier 
Acked-by: Jiri Olsa 
---
Changes for v4:
- Rebased to latest perf/core branch
- Added Jiri's ACK
---
 tools/perf/util/session.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 54e30f1bcbd7..07221884f725 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
perf_session *session,
return perf_session__process_user_event(session, event, 
file_offset);
 
if (tool->ordered_events) {
-   u64 timestamp;
+   u64 timestamp = -1ULL;
 
ret = perf_evlist__parse_sample_timestamp(evlist, event, 
);
-   if (ret)
+   if (ret && ret != -1)
return ret;
 
ret = perf_session__queue_event(session, event, timestamp, 
file_offset);
-- 
2.7.4



[PATCH v4] perf report: Fix regression when decoding intelPT traces

2018-01-10 Thread Mathieu Poirier
Commit (93d10af26bb7 perf tools: Optimize sample parsing for ordered
events) breaks intelPT trace decoding by invariably returning an error if
the event type isn't a PERF_SAMPLE_TIME.

With this patch the timestamp is initialised and processing is allowed to
continue if the error returned by function
perf_evlist__parse_sample_timestamp() is not a fault.

Signed-off-by: Mathieu Poirier 
Acked-by: Jiri Olsa 
---
Changes for v4:
- Rebased to latest perf/core branch
- Added Jiri's ACK
---
 tools/perf/util/session.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 54e30f1bcbd7..07221884f725 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1508,10 +1508,10 @@ static s64 perf_session__process_event(struct 
perf_session *session,
return perf_session__process_user_event(session, event, 
file_offset);
 
if (tool->ordered_events) {
-   u64 timestamp;
+   u64 timestamp = -1ULL;
 
ret = perf_evlist__parse_sample_timestamp(evlist, event, 
);
-   if (ret)
+   if (ret && ret != -1)
return ret;
 
ret = perf_session__queue_event(session, event, timestamp, 
file_offset);
-- 
2.7.4