From: "Jiayuan Chen" <jiayuan.chen@linux.dev>
To: "Waiman Long" <llong@redhat.com>, cgroups@vger.kernel.org
Cc: tj@kernel.org, hannes@cmpxchg.org, mkoutny@suse.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] cgroup: Add preemption protection to css_rstat_updated()
Date: Fri, 21 Nov 2025 06:21:01 +0000 [thread overview]
Message-ID: <305559b6e8249a31ccbe1fe77fd3a3c041872c4b@linux.dev> (raw)
In-Reply-To: <6cd2dc59-e647-411f-ba3e-2a741487abb8@redhat.com>
November 21, 2025 at 13:07, "Waiman Long" <llong@redhat.com mailto:llong@redhat.com?to=%22Waiman%20Long%22%20%3Cllong%40redhat.com%3E > wrote:
>
> On 11/20/25 11:06 PM, Jiayuan Chen wrote:
>
> >
> > BPF programs do not disable preemption, they only disable migration.
> > Therefore, when running the cgroup_hierarchical_stats selftest, a
> > warning [1] is generated.
> >
> > The css_rstat_updated() function is lockless and reentrant. However,
> > as Tejun pointed out [2], preemption-related considerations need to
> > be considered. Since css_rstat_updated() can be called from BPF where
> > preemption is not disabled by its framework and it has already been
> > exposed as a kfunc to BPF programs, introducing a new kfunc like bpf_xx
> > will break existing uses. Thus, we directly make css_rstat_updated()
> > preempt-safe here.
> >
> My understand of Tejun's comment is to add bpf_preempt_disable() and bpf_preempt_enable() calls around the css_rstat_updated() call in the bpf program defined in tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c instead of adding that in the css_rstat_updated() function itself. But I may be wrong.
>
> Cheers, Longman
>
If that's really the case, then I'd rather add a new wrapper kfunc for BPF
to replace css_rstat_updated(). Otherwise, whether it gets triggered would
depend entirely on users behavior.
Right now, this WARNING is showing up in all BPF selftests. Although it's not
treated as an error that fails the tests,it's visible in the action runs:
https://github.com/kernel-patches/bpf/actions
next prev parent reply other threads:[~2025-11-21 6:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-21 4:06 [PATCH v2] cgroup: Add preemption protection to css_rstat_updated() Jiayuan Chen
2025-11-21 5:07 ` Waiman Long
2025-11-21 6:21 ` Jiayuan Chen [this message]
2025-11-21 15:47 ` Waiman Long
2025-11-24 4:54 ` Shakeel Butt
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=305559b6e8249a31ccbe1fe77fd3a3c041872c4b@linux.dev \
--to=jiayuan.chen@linux.dev \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llong@redhat.com \
--cc=mkoutny@suse.com \
--cc=tj@kernel.org \
/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