All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf: Fix missing raw data on tracepoint events
@ 2022-10-12 14:38 James Clark
  2022-10-12 16:52 ` Namhyung Kim
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: James Clark @ 2022-10-12 14:38 UTC (permalink / raw)
  To: linux-perf-users, peterz, namhyung
  Cc: linux-kernel, James Clark, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa

Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
field not being set. Fix this by setting it for tracepoint events.

This fixes the following test failure:

  perf test "sched_switch" -vvv

   35: Track with sched_switch
  --- start ---
  test child forked, pid 1828
  ...
  Using CPUID 0x00000000410fd400
  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
  Missing sched_switch events
  4613 events recorded
  test child finished with -1
  ---- end ----
  Track with sched_switch: FAILED!

Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: James Clark <james.clark@arm.com>
---
 kernel/events/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index b981b879bcd8..824c23830272 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -9759,6 +9759,7 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size,
 
 	perf_sample_data_init(&data, 0, 0);
 	data.raw = &raw;
+	data.sample_flags |= PERF_SAMPLE_RAW;
 
 	perf_trace_buf_update(record, event_type);
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf: Fix missing raw data on tracepoint events
  2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
@ 2022-10-12 16:52 ` Namhyung Kim
  2022-10-17 23:38 ` SeongJae Park
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Namhyung Kim @ 2022-10-12 16:52 UTC (permalink / raw)
  To: James Clark
  Cc: linux-perf-users, Peter Zijlstra, linux-kernel, Ingo Molnar,
	Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin,
	Jiri Olsa

On Wed, Oct 12, 2022 at 7:39 AM James Clark <james.clark@arm.com> wrote:
>
> Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
> field not being set. Fix this by setting it for tracepoint events.
>
> This fixes the following test failure:
>
>   perf test "sched_switch" -vvv
>
>    35: Track with sched_switch
>   --- start ---
>   test child forked, pid 1828
>   ...
>   Using CPUID 0x00000000410fd400
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   Missing sched_switch events
>   4613 events recorded
>   test child finished with -1
>   ---- end ----
>   Track with sched_switch: FAILED!
>
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
> Signed-off-by: James Clark <james.clark@arm.com>

Ouch.. thanks for the fix.

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung


> ---
>  kernel/events/core.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index b981b879bcd8..824c23830272 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -9759,6 +9759,7 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size,
>
>         perf_sample_data_init(&data, 0, 0);
>         data.raw = &raw;
> +       data.sample_flags |= PERF_SAMPLE_RAW;
>
>         perf_trace_buf_update(record, event_type);
>
> --
> 2.28.0
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf: Fix missing raw data on tracepoint events
  2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
  2022-10-12 16:52 ` Namhyung Kim
@ 2022-10-17 23:38 ` SeongJae Park
  2022-10-18 18:30 ` Athira Rajeev
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2022-10-17 23:38 UTC (permalink / raw)
  To: James Clark
  Cc: sj, linux-perf-users, peterz, namhyung, linux-kernel, Ingo Molnar,
	Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin,
	Jiri Olsa

On Wed, 12 Oct 2022 15:38:57 +0100 James Clark <james.clark@arm.com> wrote:

> Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
> field not being set. Fix this by setting it for tracepoint events.

I was also getting similar issue[1], and confirmed that this fixes it.  Thank
you for the fix!  Also, thank you for pointing me to this patch, Namhyung!

> 
> This fixes the following test failure:
> 
>   perf test "sched_switch" -vvv
> 
>    35: Track with sched_switch
>   --- start ---
>   test child forked, pid 1828
>   ...
>   Using CPUID 0x00000000410fd400
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   Missing sched_switch events
>   4613 events recorded
>   test child finished with -1
>   ---- end ----
>   Track with sched_switch: FAILED!
> 
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
> Signed-off-by: James Clark <james.clark@arm.com>

Tested-by: SeongJae Park <sj@kernel.org>


[1] https://lore.kernel.org/bpf/20221017192744.1403-1-sj@kernel.org/

Thanks,
SJ

> ---
>  kernel/events/core.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index b981b879bcd8..824c23830272 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -9759,6 +9759,7 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size,
>  
>  	perf_sample_data_init(&data, 0, 0);
>  	data.raw = &raw;
> +	data.sample_flags |= PERF_SAMPLE_RAW;
>  
>  	perf_trace_buf_update(record, event_type);
>  
> -- 
> 2.28.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf: Fix missing raw data on tracepoint events
  2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
  2022-10-12 16:52 ` Namhyung Kim
  2022-10-17 23:38 ` SeongJae Park
@ 2022-10-18 18:30 ` Athira Rajeev
  2022-10-18 20:23 ` Peter Zijlstra
  2022-10-28  6:41 ` [tip: perf/urgent] " tip-bot2 for James Clark
  4 siblings, 0 replies; 6+ messages in thread
From: Athira Rajeev @ 2022-10-18 18:30 UTC (permalink / raw)
  To: James Clark
  Cc: linux-perf-users, Peter Zijlstra, Namhyung Kim, linux-kernel,
	Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland,
	Alexander Shishkin, Jiri Olsa



> On 12-Oct-2022, at 8:08 PM, James Clark <james.clark@arm.com> wrote:
> 
> Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
> field not being set. Fix this by setting it for tracepoint events.
> 
> This fixes the following test failure:
> 
>  perf test "sched_switch" -vvv
> 
>   35: Track with sched_switch
>  --- start ---
>  test child forked, pid 1828
>  ...
>  Using CPUID 0x00000000410fd400
>  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>  Missing sched_switch events
>  4613 events recorded
>  test child finished with -1
>  ---- end ----
>  Track with sched_switch: FAILED!
> 
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
> Signed-off-by: James Clark <james.clark@arm.com>

Hi James, 

Thanks for the fix. I was getting similar issue with “perf trace” and it works with this fix.

Tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>


> ---
> kernel/events/core.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index b981b879bcd8..824c23830272 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -9759,6 +9759,7 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size,
> 
> 	perf_sample_data_init(&data, 0, 0);
> 	data.raw = &raw;
> +	data.sample_flags |= PERF_SAMPLE_RAW;
> 
> 	perf_trace_buf_update(record, event_type);
> 
> -- 
> 2.28.0
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf: Fix missing raw data on tracepoint events
  2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
                   ` (2 preceding siblings ...)
  2022-10-18 18:30 ` Athira Rajeev
@ 2022-10-18 20:23 ` Peter Zijlstra
  2022-10-28  6:41 ` [tip: perf/urgent] " tip-bot2 for James Clark
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Zijlstra @ 2022-10-18 20:23 UTC (permalink / raw)
  To: James Clark
  Cc: linux-perf-users, namhyung, linux-kernel, Ingo Molnar,
	Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin,
	Jiri Olsa

On Wed, Oct 12, 2022 at 03:38:57PM +0100, James Clark wrote:
> Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
> field not being set. Fix this by setting it for tracepoint events.
> 
> This fixes the following test failure:
> 
>   perf test "sched_switch" -vvv
> 
>    35: Track with sched_switch
>   --- start ---
>   test child forked, pid 1828
>   ...
>   Using CPUID 0x00000000410fd400
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   sched_switch: cpu: 2 prev_tid -14687 next_tid 0
>   Missing sched_switch events
>   4613 events recorded
>   test child finished with -1
>   ---- end ----
>   Track with sched_switch: FAILED!
> 
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
> Signed-off-by: James Clark <james.clark@arm.com>

Thanks!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [tip: perf/urgent] perf: Fix missing raw data on tracepoint events
  2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
                   ` (3 preceding siblings ...)
  2022-10-18 20:23 ` Peter Zijlstra
@ 2022-10-28  6:41 ` tip-bot2 for James Clark
  4 siblings, 0 replies; 6+ messages in thread
From: tip-bot2 for James Clark @ 2022-10-28  6:41 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: James Clark, Peter Zijlstra (Intel), Namhyung Kim, SeongJae Park,
	Athira Rajeev, x86, linux-kernel

The following commit has been merged into the perf/urgent branch of tip:

Commit-ID:     4b66ff46f2e18b1d32e18c881799ef911606f3be
Gitweb:        https://git.kernel.org/tip/4b66ff46f2e18b1d32e18c881799ef911606f3be
Author:        James Clark <james.clark@arm.com>
AuthorDate:    Wed, 12 Oct 2022 15:38:57 +01:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Thu, 27 Oct 2022 10:27:30 +02:00

perf: Fix missing raw data on tracepoint events

Since commit 838d9bb62d13 ("perf: Use sample_flags for raw_data")
raw data is not being output on tracepoints due to the PERF_SAMPLE_RAW
field not being set. Fix this by setting it for tracepoint events.

This fixes the following test failure:

  perf test "sched_switch" -vvv

   35: Track with sched_switch
  --- start ---
  test child forked, pid 1828
  ...
  Using CPUID 0x00000000410fd400
  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
  sched_switch: cpu: 2 prev_tid -14687 next_tid 0
  Missing sched_switch events
  4613 events recorded
  test child finished with -1
  ---- end ----
  Track with sched_switch: FAILED!

Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
Signed-off-by: James Clark <james.clark@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: SeongJae Park <sj@kernel.org>
Tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Link: https://lore.kernel.org/r/20221012143857.48198-1-james.clark@arm.com
---
 kernel/events/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index 01933db..4ec3717 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -9846,6 +9846,7 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size,
 
 	perf_sample_data_init(&data, 0, 0);
 	data.raw = &raw;
+	data.sample_flags |= PERF_SAMPLE_RAW;
 
 	perf_trace_buf_update(record, event_type);
 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-10-28  6:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-12 14:38 [PATCH] perf: Fix missing raw data on tracepoint events James Clark
2022-10-12 16:52 ` Namhyung Kim
2022-10-17 23:38 ` SeongJae Park
2022-10-18 18:30 ` Athira Rajeev
2022-10-18 20:23 ` Peter Zijlstra
2022-10-28  6:41 ` [tip: perf/urgent] " tip-bot2 for James Clark

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.