* [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data
[not found] <166434824149.401.4361243714612738808.tip-bot2@tip-bot2>
@ 2022-10-06 16:00 ` Sumanth Korikkar
2022-10-06 17:12 ` Namhyung Kim
2022-10-06 18:58 ` Jiri Olsa
0 siblings, 2 replies; 15+ messages in thread
From: Sumanth Korikkar @ 2022-10-06 16:00 UTC (permalink / raw)
To: tip-bot2
Cc: linux-kernel, linux-tip-commits, namhyung, peterz, x86, iii, gor,
hca, svens, tmricht, bpf, Sumanth Korikkar
Hi,
This causes segfaults.
Steps to recreate:
* Run ./samples/bpf/trace_output
BUG pid 9 cookie 1001000000004 sized 4
BUG pid 9 cookie 1001000000004 sized 4
BUG pid 9 cookie 1001000000004 sized 4
Segmentation fault (core dumped)
Problem:
* The following commit sets data->raw to NULL, when the raw data is not filled
by PMU driver. This leads to stale data.
* raw data could also be filled by bpf_perf_event_output(), bpf_event_output()
...
686 perf_sample_data_init(sd, 0, 0);
687 sd->raw = &raw;
688
689 err = __bpf_perf_event_output(regs, map, flags, sd);
...
* The below patch eliminates segfaults. However, contradicts with
the description mentioned in this commit (Filled by only PMU driver).
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 49fb9ec8366d..1ed08967fb97 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
perf_sample_data_init(sd, 0, 0);
sd->raw = &raw;
+ sd->sample_flags |= PERF_SAMPLE_RAW;
err = __bpf_perf_event_output(regs, map, flags, sd);
@@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
perf_fetch_caller_regs(regs);
perf_sample_data_init(sd, 0, 0);
sd->raw = &raw;
+ sd->sample_flags |= PERF_SAMPLE_RAW;
ret = __bpf_perf_event_output(regs, map, flags, sd);
out:
--
Thanks,
Sumanth
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data
2022-10-06 16:00 ` [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data Sumanth Korikkar
@ 2022-10-06 17:12 ` Namhyung Kim
2022-10-06 18:58 ` Jiri Olsa
1 sibling, 0 replies; 15+ messages in thread
From: Namhyung Kim @ 2022-10-06 17:12 UTC (permalink / raw)
To: Sumanth Korikkar
Cc: tip-bot2, linux-kernel, linux-tip-commits, peterz, x86, iii, gor,
hca, svens, tmricht, bpf
Hello,
On Thu, Oct 6, 2022 at 9:01 AM Sumanth Korikkar <sumanthk@linux.ibm.com> wrote:
>
> Hi,
>
> This causes segfaults.
>
> Steps to recreate:
> * Run ./samples/bpf/trace_output
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> Segmentation fault (core dumped)
>
> Problem:
> * The following commit sets data->raw to NULL, when the raw data is not filled
> by PMU driver. This leads to stale data.
>
> * raw data could also be filled by bpf_perf_event_output(), bpf_event_output()
> ...
> 686 perf_sample_data_init(sd, 0, 0);
> 687 sd->raw = &raw;
> 688
> 689 err = __bpf_perf_event_output(regs, map, flags, sd);
> ...
>
> * The below patch eliminates segfaults. However, contradicts with
> the description mentioned in this commit (Filled by only PMU driver).
Thank you for the fix. Don't worry about the description - it said
it's usually filled by PMU drivers and it should be fine as long as
you set the sample flags after filling the raw data.
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
>
> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> index 49fb9ec8366d..1ed08967fb97 100644
> --- a/kernel/trace/bpf_trace.c
> +++ b/kernel/trace/bpf_trace.c
> @@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
>
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> err = __bpf_perf_event_output(regs, map, flags, sd);
>
> @@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
> perf_fetch_caller_regs(regs);
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> ret = __bpf_perf_event_output(regs, map, flags, sd);
> out:
>
> --
> Thanks,
> Sumanth
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data
2022-10-06 16:00 ` [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data Sumanth Korikkar
2022-10-06 17:12 ` Namhyung Kim
@ 2022-10-06 18:58 ` Jiri Olsa
2022-10-07 8:13 ` [PATCH] bpf: fix sample_flags for bpf_perf_event_output Sumanth Korikkar
1 sibling, 1 reply; 15+ messages in thread
From: Jiri Olsa @ 2022-10-06 18:58 UTC (permalink / raw)
To: Sumanth Korikkar
Cc: tip-bot2, linux-kernel, linux-tip-commits, namhyung, peterz, x86,
iii, gor, hca, svens, tmricht, bpf
On Thu, Oct 06, 2022 at 06:00:44PM +0200, Sumanth Korikkar wrote:
> Hi,
>
> This causes segfaults.
>
> Steps to recreate:
> * Run ./samples/bpf/trace_output
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> Segmentation fault (core dumped)
>
> Problem:
> * The following commit sets data->raw to NULL, when the raw data is not filled
> by PMU driver. This leads to stale data.
>
> * raw data could also be filled by bpf_perf_event_output(), bpf_event_output()
> ...
> 686 perf_sample_data_init(sd, 0, 0);
> 687 sd->raw = &raw;
> 688
> 689 err = __bpf_perf_event_output(regs, map, flags, sd);
> ...
>
> * The below patch eliminates segfaults. However, contradicts with
> the description mentioned in this commit (Filled by only PMU driver).
hi,
could you please resend the patch with formal changelog and Fixes tag?
thanks,
jirka
>
> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> index 49fb9ec8366d..1ed08967fb97 100644
> --- a/kernel/trace/bpf_trace.c
> +++ b/kernel/trace/bpf_trace.c
> @@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
>
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> err = __bpf_perf_event_output(regs, map, flags, sd);
>
> @@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
> perf_fetch_caller_regs(regs);
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> ret = __bpf_perf_event_output(regs, map, flags, sd);
> out:
>
> --
> Thanks,
> Sumanth
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-06 18:58 ` Jiri Olsa
@ 2022-10-07 8:13 ` Sumanth Korikkar
2022-10-07 9:45 ` Jiri Olsa
2022-10-17 19:27 ` SeongJae Park
0 siblings, 2 replies; 15+ messages in thread
From: Sumanth Korikkar @ 2022-10-07 8:13 UTC (permalink / raw)
To: olsajiri
Cc: bpf, gor, hca, iii, linux-kernel, linux-tip-commits, namhyung,
peterz, sumanthk, svens, tip-bot2, tmricht, x86
* Raw data is also filled by bpf_perf_event_output.
* Add sample_flags to indicate raw data.
* This eliminates the segfaults as shown below:
Run ./samples/bpf/trace_output
BUG pid 9 cookie 1001000000004 sized 4
BUG pid 9 cookie 1001000000004 sized 4
BUG pid 9 cookie 1001000000004 sized 4
Segmentation fault (core dumped)
Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
---
kernel/trace/bpf_trace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 49fb9ec8366d..1ed08967fb97 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
perf_sample_data_init(sd, 0, 0);
sd->raw = &raw;
+ sd->sample_flags |= PERF_SAMPLE_RAW;
err = __bpf_perf_event_output(regs, map, flags, sd);
@@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
perf_fetch_caller_regs(regs);
perf_sample_data_init(sd, 0, 0);
sd->raw = &raw;
+ sd->sample_flags |= PERF_SAMPLE_RAW;
ret = __bpf_perf_event_output(regs, map, flags, sd);
out:
--
2.36.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-07 8:13 ` [PATCH] bpf: fix sample_flags for bpf_perf_event_output Sumanth Korikkar
@ 2022-10-07 9:45 ` Jiri Olsa
2022-10-07 15:18 ` Peter Zijlstra
2022-10-17 19:27 ` SeongJae Park
1 sibling, 1 reply; 15+ messages in thread
From: Jiri Olsa @ 2022-10-07 9:45 UTC (permalink / raw)
To: Sumanth Korikkar, peterz
Cc: olsajiri, bpf, gor, hca, iii, linux-kernel, linux-tip-commits,
namhyung, svens, tip-bot2, tmricht, x86
On Fri, Oct 07, 2022 at 10:13:27AM +0200, Sumanth Korikkar wrote:
> * Raw data is also filled by bpf_perf_event_output.
> * Add sample_flags to indicate raw data.
> * This eliminates the segfaults as shown below:
> Run ./samples/bpf/trace_output
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> Segmentation fault (core dumped)
>
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Acked-by: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Peter,
I think this should go through your tree again?
bpf-next/master does not have sample_flags merged yet
thanks,
jirka
> ---
> kernel/trace/bpf_trace.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> index 49fb9ec8366d..1ed08967fb97 100644
> --- a/kernel/trace/bpf_trace.c
> +++ b/kernel/trace/bpf_trace.c
> @@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
>
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> err = __bpf_perf_event_output(regs, map, flags, sd);
>
> @@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
> perf_fetch_caller_regs(regs);
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> ret = __bpf_perf_event_output(regs, map, flags, sd);
> out:
> --
> 2.36.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-07 9:45 ` Jiri Olsa
@ 2022-10-07 15:18 ` Peter Zijlstra
2022-10-19 4:57 ` Alexei Starovoitov
0 siblings, 1 reply; 15+ messages in thread
From: Peter Zijlstra @ 2022-10-07 15:18 UTC (permalink / raw)
To: Jiri Olsa
Cc: Sumanth Korikkar, bpf, gor, hca, iii, linux-kernel,
linux-tip-commits, namhyung, svens, tip-bot2, tmricht, x86
On Fri, Oct 07, 2022 at 11:45:36AM +0200, Jiri Olsa wrote:
> On Fri, Oct 07, 2022 at 10:13:27AM +0200, Sumanth Korikkar wrote:
> > * Raw data is also filled by bpf_perf_event_output.
> > * Add sample_flags to indicate raw data.
> > * This eliminates the segfaults as shown below:
> > Run ./samples/bpf/trace_output
> > BUG pid 9 cookie 1001000000004 sized 4
> > BUG pid 9 cookie 1001000000004 sized 4
> > BUG pid 9 cookie 1001000000004 sized 4
> > Segmentation fault (core dumped)
> >
> > Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> > Acked-by: Namhyung Kim <namhyung@kernel.org>
> > Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
>
> Acked-by: Jiri Olsa <jolsa@kernel.org>
>
> Peter,
> I think this should go through your tree again?
> bpf-next/master does not have sample_flags merged yet
Yep can do. I'll line it up in perf/urgent (Ingo just send out
perf/core).
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-07 8:13 ` [PATCH] bpf: fix sample_flags for bpf_perf_event_output Sumanth Korikkar
2022-10-07 9:45 ` Jiri Olsa
@ 2022-10-17 19:27 ` SeongJae Park
2022-10-17 22:52 ` Namhyung Kim
1 sibling, 1 reply; 15+ messages in thread
From: SeongJae Park @ 2022-10-17 19:27 UTC (permalink / raw)
To: Sumanth Korikkar
Cc: olsajiri, bpf, gor, hca, iii, linux-kernel, linux-tip-commits,
namhyung, peterz, svens, tip-bot2, tmricht, x86
Hello,
The commit that this patch is fixing[1] also causes yet another segfault for
'perf-script' of tracepoint records. For example:
$ sudo timeout 3 perf record -e exceptions:page_fault_user
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.228 MB perf.data (74 samples) ]
$ sudo perf script
Segmentation fault
Reverting this patch and the original bug commit[1] fixes the issue. I haven't
deep dive yet because I'm not familiar with this area. Anybody has any idea
about this?
[1] 838d9bb62d13 ("perf: Use sample_flags for raw_data")
Thanks,
SJ
On Fri, 7 Oct 2022 10:13:27 +0200 Sumanth Korikkar <sumanthk@linux.ibm.com> wrote:
> * Raw data is also filled by bpf_perf_event_output.
> * Add sample_flags to indicate raw data.
> * This eliminates the segfaults as shown below:
> Run ./samples/bpf/trace_output
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> BUG pid 9 cookie 1001000000004 sized 4
> Segmentation fault (core dumped)
>
> Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> Acked-by: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> ---
> kernel/trace/bpf_trace.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> index 49fb9ec8366d..1ed08967fb97 100644
> --- a/kernel/trace/bpf_trace.c
> +++ b/kernel/trace/bpf_trace.c
> @@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
>
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> err = __bpf_perf_event_output(regs, map, flags, sd);
>
> @@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
> perf_fetch_caller_regs(regs);
> perf_sample_data_init(sd, 0, 0);
> sd->raw = &raw;
> + sd->sample_flags |= PERF_SAMPLE_RAW;
>
> ret = __bpf_perf_event_output(regs, map, flags, sd);
> out:
> --
> 2.36.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-17 19:27 ` SeongJae Park
@ 2022-10-17 22:52 ` Namhyung Kim
2022-10-17 23:35 ` SeongJae Park
0 siblings, 1 reply; 15+ messages in thread
From: Namhyung Kim @ 2022-10-17 22:52 UTC (permalink / raw)
To: SeongJae Park
Cc: Sumanth Korikkar, olsajiri, bpf, gor, hca, iii, linux-kernel,
linux-tip-commits, peterz, svens, tip-bot2, tmricht, x86
Hi SeongJae,
On Mon, Oct 17, 2022 at 12:27 PM SeongJae Park <sj@kernel.org> wrote:
>
> Hello,
>
>
> The commit that this patch is fixing[1] also causes yet another segfault for
> 'perf-script' of tracepoint records. For example:
>
> $ sudo timeout 3 perf record -e exceptions:page_fault_user
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.228 MB perf.data (74 samples) ]
> $ sudo perf script
> Segmentation fault
>
> Reverting this patch and the original bug commit[1] fixes the issue. I haven't
> deep dive yet because I'm not familiar with this area. Anybody has any idea
> about this?
>
> [1] 838d9bb62d13 ("perf: Use sample_flags for raw_data")
Sorry for the trouble. I think you also need to apply the below:
https://lore.kernel.org/r/20221012143857.48198-1-james.clark@arm.com
Thanks,
Namhyung
>
> On Fri, 7 Oct 2022 10:13:27 +0200 Sumanth Korikkar <sumanthk@linux.ibm.com> wrote:
>
> > * Raw data is also filled by bpf_perf_event_output.
> > * Add sample_flags to indicate raw data.
> > * This eliminates the segfaults as shown below:
> > Run ./samples/bpf/trace_output
> > BUG pid 9 cookie 1001000000004 sized 4
> > BUG pid 9 cookie 1001000000004 sized 4
> > BUG pid 9 cookie 1001000000004 sized 4
> > Segmentation fault (core dumped)
> >
> > Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> > Acked-by: Namhyung Kim <namhyung@kernel.org>
> > Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> > ---
> > kernel/trace/bpf_trace.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> > index 49fb9ec8366d..1ed08967fb97 100644
> > --- a/kernel/trace/bpf_trace.c
> > +++ b/kernel/trace/bpf_trace.c
> > @@ -687,6 +687,7 @@ BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map,
> >
> > perf_sample_data_init(sd, 0, 0);
> > sd->raw = &raw;
> > + sd->sample_flags |= PERF_SAMPLE_RAW;
> >
> > err = __bpf_perf_event_output(regs, map, flags, sd);
> >
> > @@ -745,6 +746,7 @@ u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size,
> > perf_fetch_caller_regs(regs);
> > perf_sample_data_init(sd, 0, 0);
> > sd->raw = &raw;
> > + sd->sample_flags |= PERF_SAMPLE_RAW;
> >
> > ret = __bpf_perf_event_output(regs, map, flags, sd);
> > out:
> > --
> > 2.36.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-17 22:52 ` Namhyung Kim
@ 2022-10-17 23:35 ` SeongJae Park
0 siblings, 0 replies; 15+ messages in thread
From: SeongJae Park @ 2022-10-17 23:35 UTC (permalink / raw)
To: Namhyung Kim
Cc: SeongJae Park, Sumanth Korikkar, olsajiri, bpf, gor, hca, iii,
linux-kernel, linux-tip-commits, peterz, svens, tip-bot2, tmricht,
x86
On Mon, 17 Oct 2022 15:52:15 -0700 Namhyung Kim <namhyung@kernel.org> wrote:
> Hi SeongJae,
>
> On Mon, Oct 17, 2022 at 12:27 PM SeongJae Park <sj@kernel.org> wrote:
> >
> > Hello,
> >
> >
> > The commit that this patch is fixing[1] also causes yet another segfault for
> > 'perf-script' of tracepoint records. For example:
> >
> > $ sudo timeout 3 perf record -e exceptions:page_fault_user
> > [ perf record: Woken up 1 times to write data ]
> > [ perf record: Captured and wrote 0.228 MB perf.data (74 samples) ]
> > $ sudo perf script
> > Segmentation fault
> >
> > Reverting this patch and the original bug commit[1] fixes the issue. I haven't
> > deep dive yet because I'm not familiar with this area. Anybody has any idea
> > about this?
> >
> > [1] 838d9bb62d13 ("perf: Use sample_flags for raw_data")
>
> Sorry for the trouble.
No problem.
> I think you also need to apply the below:
>
> https://lore.kernel.org/r/20221012143857.48198-1-james.clark@arm.com
Thank you for this nice answer. I confirmed that this fixes my issue.
Thanks,
SJ
[...]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-07 15:18 ` Peter Zijlstra
@ 2022-10-19 4:57 ` Alexei Starovoitov
2022-10-21 1:36 ` Alexei Starovoitov
0 siblings, 1 reply; 15+ messages in thread
From: Alexei Starovoitov @ 2022-10-19 4:57 UTC (permalink / raw)
To: Peter Zijlstra, Linus Torvalds
Cc: Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik, Heiko Carstens,
Ilya Leoshkevich, LKML, Namhyung Kim, Sven Schnelle,
Thomas Richter, X86 ML, Daniel Borkmann
On Fri, Oct 7, 2022 at 8:31 AM Peter Zijlstra <peterz@infradead.org> wrote:
>
> On Fri, Oct 07, 2022 at 11:45:36AM +0200, Jiri Olsa wrote:
> > On Fri, Oct 07, 2022 at 10:13:27AM +0200, Sumanth Korikkar wrote:
> > > * Raw data is also filled by bpf_perf_event_output.
> > > * Add sample_flags to indicate raw data.
> > > * This eliminates the segfaults as shown below:
> > > Run ./samples/bpf/trace_output
> > > BUG pid 9 cookie 1001000000004 sized 4
> > > BUG pid 9 cookie 1001000000004 sized 4
> > > BUG pid 9 cookie 1001000000004 sized 4
> > > Segmentation fault (core dumped)
> > >
> > > Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> > > Acked-by: Namhyung Kim <namhyung@kernel.org>
> > > Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> >
> > Acked-by: Jiri Olsa <jolsa@kernel.org>
> >
> > Peter,
> > I think this should go through your tree again?
> > bpf-next/master does not have sample_flags merged yet
>
> Yep can do. I'll line it up in perf/urgent (Ingo just send out
> perf/core).
Peter,
Could you please hurry up. 11 days have passed.
This issue affects everyone the hard way now after merging
all the trees: tip -> linus -> net-next -> bpf-next.
The BPF CI is red right now with 5 tests failing because
this fix is still missing.
It's causing a headache to maintainers and developers.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-19 4:57 ` Alexei Starovoitov
@ 2022-10-21 1:36 ` Alexei Starovoitov
2022-10-23 1:16 ` bpf+perf is still broken. Was: " Alexei Starovoitov
0 siblings, 1 reply; 15+ messages in thread
From: Alexei Starovoitov @ 2022-10-21 1:36 UTC (permalink / raw)
To: Peter Zijlstra, Linus Torvalds
Cc: Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik, Heiko Carstens,
Ilya Leoshkevich, LKML, Namhyung Kim, Sven Schnelle,
Thomas Richter, X86 ML, Daniel Borkmann, Andrii Nakryiko,
Jakub Kicinski, David S. Miller
Peter,
Another 2 days have passed and bpf side is still broken
due to the change that went during the merge window without
corresponding fix from the bpf side.
Looks like the patch is sitting in tip:perf/urgent.
Please send it to Linus asap.
We're not sending bpf fixes to avoid breaking bpf tree too.
We've worked around the issue in bpf CI for bpf-next tree only.
Developers still see failures when they run tests locally.
On Tue, Oct 18, 2022 at 9:57 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> On Fri, Oct 7, 2022 at 8:31 AM Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > On Fri, Oct 07, 2022 at 11:45:36AM +0200, Jiri Olsa wrote:
> > > On Fri, Oct 07, 2022 at 10:13:27AM +0200, Sumanth Korikkar wrote:
> > > > * Raw data is also filled by bpf_perf_event_output.
> > > > * Add sample_flags to indicate raw data.
> > > > * This eliminates the segfaults as shown below:
> > > > Run ./samples/bpf/trace_output
> > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > Segmentation fault (core dumped)
> > > >
> > > > Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> > > > Acked-by: Namhyung Kim <namhyung@kernel.org>
> > > > Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> > >
> > > Acked-by: Jiri Olsa <jolsa@kernel.org>
> > >
> > > Peter,
> > > I think this should go through your tree again?
> > > bpf-next/master does not have sample_flags merged yet
> >
> > Yep can do. I'll line it up in perf/urgent (Ingo just send out
> > perf/core).
>
> Peter,
>
> Could you please hurry up. 11 days have passed.
>
> This issue affects everyone the hard way now after merging
> all the trees: tip -> linus -> net-next -> bpf-next.
> The BPF CI is red right now with 5 tests failing because
> this fix is still missing.
> It's causing a headache to maintainers and developers.
^ permalink raw reply [flat|nested] 15+ messages in thread
* bpf+perf is still broken. Was: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-21 1:36 ` Alexei Starovoitov
@ 2022-10-23 1:16 ` Alexei Starovoitov
2022-10-23 16:55 ` Linus Torvalds
0 siblings, 1 reply; 15+ messages in thread
From: Alexei Starovoitov @ 2022-10-23 1:16 UTC (permalink / raw)
To: Peter Zijlstra, Linus Torvalds
Cc: Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik, Heiko Carstens,
Ilya Leoshkevich, LKML, Namhyung Kim, Sven Schnelle,
Thomas Richter, X86 ML, Daniel Borkmann, Andrii Nakryiko,
Jakub Kicinski, David S. Miller
Another 2 days have passed and the fix is still not in the Linus's tree.
Peter,
whatever your excuse is for not sending tip:perf/urgent
this is not acceptable.
Linus,
please apply this fix directly:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=perf/urgent&id=21da7472a040420f2dc624ffec70291a72c5d6a6
or suggest the course of action.
It sucked to have such a breakage in rc1 and we don't want rc2
to stay broken.
Thanks
On Thu, Oct 20, 2022 at 6:36 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> Peter,
>
> Another 2 days have passed and bpf side is still broken
> due to the change that went during the merge window without
> corresponding fix from the bpf side.
> Looks like the patch is sitting in tip:perf/urgent.
> Please send it to Linus asap.
>
> We're not sending bpf fixes to avoid breaking bpf tree too.
> We've worked around the issue in bpf CI for bpf-next tree only.
> Developers still see failures when they run tests locally.
>
> On Tue, Oct 18, 2022 at 9:57 PM Alexei Starovoitov
> <alexei.starovoitov@gmail.com> wrote:
> >
> > On Fri, Oct 7, 2022 at 8:31 AM Peter Zijlstra <peterz@infradead.org> wrote:
> > >
> > > On Fri, Oct 07, 2022 at 11:45:36AM +0200, Jiri Olsa wrote:
> > > > On Fri, Oct 07, 2022 at 10:13:27AM +0200, Sumanth Korikkar wrote:
> > > > > * Raw data is also filled by bpf_perf_event_output.
> > > > > * Add sample_flags to indicate raw data.
> > > > > * This eliminates the segfaults as shown below:
> > > > > Run ./samples/bpf/trace_output
> > > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > > BUG pid 9 cookie 1001000000004 sized 4
> > > > > Segmentation fault (core dumped)
> > > > >
> > > > > Fixes: 838d9bb62d13 ("perf: Use sample_flags for raw_data")
> > > > > Acked-by: Namhyung Kim <namhyung@kernel.org>
> > > > > Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> > > >
> > > > Acked-by: Jiri Olsa <jolsa@kernel.org>
> > > >
> > > > Peter,
> > > > I think this should go through your tree again?
> > > > bpf-next/master does not have sample_flags merged yet
> > >
> > > Yep can do. I'll line it up in perf/urgent (Ingo just send out
> > > perf/core).
> >
> > Peter,
> >
> > Could you please hurry up. 11 days have passed.
> >
> > This issue affects everyone the hard way now after merging
> > all the trees: tip -> linus -> net-next -> bpf-next.
> > The BPF CI is red right now with 5 tests failing because
> > this fix is still missing.
> > It's causing a headache to maintainers and developers.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bpf+perf is still broken. Was: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-23 1:16 ` bpf+perf is still broken. Was: " Alexei Starovoitov
@ 2022-10-23 16:55 ` Linus Torvalds
2022-10-23 17:19 ` Linus Torvalds
0 siblings, 1 reply; 15+ messages in thread
From: Linus Torvalds @ 2022-10-23 16:55 UTC (permalink / raw)
To: Alexei Starovoitov
Cc: Peter Zijlstra, Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik,
Heiko Carstens, Ilya Leoshkevich, LKML, Namhyung Kim,
Sven Schnelle, Thomas Richter, X86 ML, Daniel Borkmann,
Andrii Nakryiko, Jakub Kicinski, David S. Miller
On Sat, Oct 22, 2022 at 6:16 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> Linus,
>
> please apply this fix directly or suggest the course of action.
I have a pull request from Borislav with the fix that came in
overnight, so this should be all fixed in rc2.
Linus
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bpf+perf is still broken. Was: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-23 16:55 ` Linus Torvalds
@ 2022-10-23 17:19 ` Linus Torvalds
2022-10-23 17:28 ` Alexei Starovoitov
0 siblings, 1 reply; 15+ messages in thread
From: Linus Torvalds @ 2022-10-23 17:19 UTC (permalink / raw)
To: Alexei Starovoitov
Cc: Peter Zijlstra, Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik,
Heiko Carstens, Ilya Leoshkevich, LKML, Namhyung Kim,
Sven Schnelle, Thomas Richter, X86 ML, Daniel Borkmann,
Andrii Nakryiko, Jakub Kicinski, David S. Miller
On Sun, Oct 23, 2022 at 9:55 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> I have a pull request from Borislav with the fix that came in
> overnight, so this should be all fixed in rc2.
.. and now it has moved from my inbox to my -git tree.
Linus
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bpf+perf is still broken. Was: [PATCH] bpf: fix sample_flags for bpf_perf_event_output
2022-10-23 17:19 ` Linus Torvalds
@ 2022-10-23 17:28 ` Alexei Starovoitov
0 siblings, 0 replies; 15+ messages in thread
From: Alexei Starovoitov @ 2022-10-23 17:28 UTC (permalink / raw)
To: Linus Torvalds
Cc: Peter Zijlstra, Jiri Olsa, Sumanth Korikkar, bpf, Vasily Gorbik,
Heiko Carstens, Ilya Leoshkevich, LKML, Namhyung Kim,
Sven Schnelle, Thomas Richter, X86 ML, Daniel Borkmann,
Andrii Nakryiko, Jakub Kicinski, David S. Miller
On Sun, Oct 23, 2022 at 10:20 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Sun, Oct 23, 2022 at 9:55 AM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > I have a pull request from Borislav with the fix that came in
> > overnight, so this should be all fixed in rc2.
>
> .. and now it has moved from my inbox to my -git tree.
Great. Thank you.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-10-23 17:28 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <166434824149.401.4361243714612738808.tip-bot2@tip-bot2>
2022-10-06 16:00 ` [PATCH] Re: [tip: perf/core] perf: Use sample_flags for raw_data Sumanth Korikkar
2022-10-06 17:12 ` Namhyung Kim
2022-10-06 18:58 ` Jiri Olsa
2022-10-07 8:13 ` [PATCH] bpf: fix sample_flags for bpf_perf_event_output Sumanth Korikkar
2022-10-07 9:45 ` Jiri Olsa
2022-10-07 15:18 ` Peter Zijlstra
2022-10-19 4:57 ` Alexei Starovoitov
2022-10-21 1:36 ` Alexei Starovoitov
2022-10-23 1:16 ` bpf+perf is still broken. Was: " Alexei Starovoitov
2022-10-23 16:55 ` Linus Torvalds
2022-10-23 17:19 ` Linus Torvalds
2022-10-23 17:28 ` Alexei Starovoitov
2022-10-17 19:27 ` SeongJae Park
2022-10-17 22:52 ` Namhyung Kim
2022-10-17 23:35 ` SeongJae Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox