Linux Trace Kernel
 help / color / mirror / Atom feed
From: Jiri Olsa <olsajiri@gmail.com>
To: bot+bpf-ci@kernel.org
Cc: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
	bpf@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
	kafai@fb.com, eddyz87@gmail.com, songliubraving@fb.com,
	yhs@fb.com, menglong8.dong@gmail.com, rostedt@kernel.org,
	martin.lau@kernel.org, yonghong.song@linux.dev, clm@meta.com,
	ihor.solodrai@linux.dev
Subject: Re: [PATCHv7 bpf-next 13/29] bpf: Add support for tracing multi link
Date: Thu, 4 Jun 2026 10:00:23 +0200	[thread overview]
Message-ID: <aiEwl5axWo8_V7cR@krava> (raw)
In-Reply-To: <6e738b0697b9ee06e9cbaa325a3330f0447f4cd12ae54d6b2c82365d58c4c525@mail.kernel.org>

On Wed, Jun 03, 2026 at 11:52:13AM +0000, bot+bpf-ci@kernel.org wrote:
> > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> > index d853f97bd154..9e3cb547651e 100644
> > --- a/kernel/trace/bpf_trace.c
> > +++ b/kernel/trace/bpf_trace.c
> > @@ -42,6 +42,7 @@
> >
> >  #define MAX_UPROBE_MULTI_CNT (1U << 20)
> >  #define MAX_KPROBE_MULTI_CNT (1U << 20)
> > +#define MAX_TRACING_MULTI_CNT (1U << 20)
> 
> [ ... ]
> 
> > @@ -3641,3 +3642,132 @@ __bpf_kfunc int bpf_copy_from_user_task_str_dynptr(const struct bpf_dynptr *dptr
> 
> [ ... ]
> 
> > +static int check_dup_ids(u32 *ids, u32 cnt)
> > +{
> > +	int err = 0;
> > +
> > +	/*
> > +	 * Sort ids array (together with cookies array if defined)
> > +	 * and check it for duplicates. The ids and cookies arrays
> > +	 * are left sorted.
> > +	 */
> > +	sort_r_nonatomic(ids, cnt, sizeof(ids[0]), ids_cmp_r, ids_swap_r, NULL);
> 
> The sort here can run over up to MAX_TRACING_MULTI_CNT (1 << 20) elements
> without ever yielding the CPU. Can this hold the CPU long enough to trip
> RCU stalls or the soft lockup watchdog when cnt is large?
> 
> This was raised on an earlier posting of the series, with the suggestion
> to add a cond_resched() somewhere in the path. The reply noted that in
> practice the count is expected to be closer to 100k rather than the full
> 1M limit, and that it was unclear where the cond_resched() should go, so
> the code was left as is. Since MAX_TRACING_MULTI_CNT is still 1 << 20,
> would it be worth revisiting whether a reschedule point is needed here?

we now use sort_r_nonatomic which calls cond_resched,
I don't think loop below needs the cond_resched call

jirka

> 
> > +
> > +	for (int i = 1; i < cnt; i++) {
> > +		if (ids[i] == ids[i - 1]) {
> > +			err = -EINVAL;
> > +			break;
> > +		}
> > +	}
> > +	return err;
> > +}
> 
> 
> ---
> AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
> See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md
> 
> CI run summary: https://github.com/kernel-patches/bpf/actions/runs/26881310426


  reply	other threads:[~2026-06-04  8:00 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-03 11:05 [PATCHv7 bpf-next 00/29] bpf: tracing_multi link Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 01/29] ftrace: Add ftrace_hash_count function Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 02/29] ftrace: Add ftrace_hash_remove function Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 03/29] ftrace: Add add_ftrace_hash_entry function Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 04/29] bpf: Use mutex lock pool for bpf trampolines Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 05/29] bpf: Add struct bpf_trampoline_ops object Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 06/29] bpf: Move trampoline image setup into bpf_trampoline_ops callbacks Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 07/29] bpf: Add bpf_trampoline_add/remove_prog functions Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 08/29] bpf: Add struct bpf_tramp_node object Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 09/29] bpf: Factor fsession link to use struct bpf_tramp_node Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 10/29] bpf: Add multi tracing attach types Jiri Olsa
2026-06-03 11:52   ` bot+bpf-ci
2026-06-03 11:05 ` [PATCHv7 bpf-next 11/29] bpf: Move sleepable verification code to btf_id_allow_sleepable Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 12/29] bpf: Add bpf_trampoline_multi_attach/detach functions Jiri Olsa
2026-06-03 11:52   ` bot+bpf-ci
2026-06-03 11:05 ` [PATCHv7 bpf-next 13/29] bpf: Add support for tracing multi link Jiri Olsa
2026-06-03 11:52   ` bot+bpf-ci
2026-06-04  8:00     ` Jiri Olsa [this message]
2026-06-03 11:05 ` [PATCHv7 bpf-next 14/29] bpf: Add support for tracing_multi link cookies Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 15/29] bpf: Add support for tracing_multi link session Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 16/29] bpf: Add support for tracing_multi link fdinfo Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 17/29] libbpf: Add bpf_object_cleanup_btf function Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 18/29] libbpf: Add bpf_link_create support for tracing_multi link Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 19/29] libbpf: Add btf_type_is_traceable_func function Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 20/29] libbpf: Add support to create tracing multi link Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 21/29] selftests/bpf: Add tracing multi skel/pattern/ids attach tests Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 22/29] selftests/bpf: Add tracing multi skel/pattern/ids module " Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 23/29] selftests/bpf: Add tracing multi intersect tests Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 24/29] selftests/bpf: Add tracing multi cookies test Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 25/29] selftests/bpf: Add tracing multi session test Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 26/29] selftests/bpf: Add tracing multi attach fails test Jiri Olsa
2026-06-03 11:05 ` [PATCHv7 bpf-next 27/29] selftests/bpf: Add tracing multi verifier " Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aiEwl5axWo8_V7cR@krava \
    --to=olsajiri@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bot+bpf-ci@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=clm@meta.com \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=ihor.solodrai@linux.dev \
    --cc=kafai@fb.com \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=martin.lau@kernel.org \
    --cc=menglong8.dong@gmail.com \
    --cc=rostedt@kernel.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox