From: Tejun Heo <tj@kernel.org>
To: Emil Tsalapatis <linux-lists@etsalapatis.com>
Cc: David Vernet <void@manifault.com>,
Andrea Righi <arighi@nvidia.com>,
Changwoo Min <changwoo@igalia.com>,
linux-kernel@vger.kernel.org, sched-ext@lists.linux.dev
Subject: Re: [PATCH 2/4] sched_ext: Add scx_bpf_task_set_slice() and scx_bpf_task_set_dsq_vtime()
Date: Tue, 7 Oct 2025 08:09:11 -1000 [thread overview]
Message-ID: <aOVXR5sIPG_L8OLC@slm.duckdns.org> (raw)
In-Reply-To: <CABFh=a7LA2MZHH-PeiDw_2VRdfqXbrimTsY=yeR7gsmg94doAA@mail.gmail.com>
Hello,
On Mon, Oct 06, 2025 at 10:56:45PM -0400, Emil Tsalapatis wrote:
> > +/**
> > + * scx_bpf_task_set_slice - Set task's time slice
> > + * @p: task of interest
> > + * @slice: time slice to set in nsecs
> > + *
> > + * Set @p's time slice to @slice. Returns %true on success, %false if the
> > + * calling scheduler doesn't have authority over @p.
> > + */
> > +__bpf_kfunc bool scx_bpf_task_set_slice(struct task_struct *p, u64 slice)
> > +{
> > + p->scx.slice = slice;
> > + return true;
> > +}
> > +
>
> Q: Do we care about protecting slice/dsq_vtime these fields with a
> lock (e.g., to let them be atomically changed w/ other
> proc/DSQ state? If so, should we limit them with the kf_mask to be
> callable from specific BPF ops?
I think it'd be the calling BPF scheduler's responsibility to synchronize if
there are multiple writers. I don't think such scenarios are likely tho.
Schedulers almost always have clearly defined chain of custody for each
task. Also, there's nothing to synchronize on 64bit machines. These are
isolated writes (ie. adding locking doesn't change the possible outcomes).
Thanks.
--
tejun
next prev parent reply other threads:[~2025-10-07 18:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-07 1:51 [PATCHSET sched_ext/for-6.19] sched_ext: Misc changes with some prep patches for sub-sched support Tejun Heo
2025-10-07 1:51 ` [PATCH 1/4] tools/sched_ext: Strip compatibility macros for cgroup and dispatch APIs Tejun Heo
2025-10-07 2:42 ` Emil Tsalapatis
2025-10-07 9:42 ` Andrea Righi
2025-10-07 16:22 ` Changwoo Min
2025-10-07 1:51 ` [PATCH 2/4] sched_ext: Add scx_bpf_task_set_slice() and scx_bpf_task_set_dsq_vtime() Tejun Heo
2025-10-07 2:56 ` Emil Tsalapatis
2025-10-07 18:09 ` Tejun Heo [this message]
2025-10-07 9:34 ` Andrea Righi
2025-10-07 18:09 ` Tejun Heo
2025-10-07 16:28 ` Changwoo Min
2025-10-07 18:11 ` Tejun Heo
2025-10-07 1:51 ` [PATCH 3/4] sched_ext: Wrap kfunc args in struct to prepare for aux__prog Tejun Heo
2025-10-07 9:48 ` Andrea Righi
2025-10-07 18:24 ` Tejun Heo
2025-10-07 18:37 ` Andrea Righi
2025-10-07 16:04 ` Emil Tsalapatis
2025-10-07 16:38 ` Changwoo Min
2025-10-07 1:51 ` [PATCH 4/4] sched_ext: Make scx_bpf_dsq_insert*() return bool Tejun Heo
2025-10-07 4:28 ` Emil Tsalapatis
2025-10-07 9:41 ` Andrea Righi
2025-10-07 15:03 ` Emil Tsalapatis
2025-10-07 17:25 ` Andrea Righi
2025-10-07 16:47 ` Changwoo Min
2025-10-07 19:06 ` [PATCH 5/4] sched_ext/tools: Add compat wrapper for scx_bpf_task_set_slice/dsq_vtime() Tejun Heo
2025-10-13 18:53 ` [PATCHSET sched_ext/for-6.19] sched_ext: Misc changes with some prep patches for sub-sched support Tejun Heo
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=aOVXR5sIPG_L8OLC@slm.duckdns.org \
--to=tj@kernel.org \
--cc=arighi@nvidia.com \
--cc=changwoo@igalia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-lists@etsalapatis.com \
--cc=sched-ext@lists.linux.dev \
--cc=void@manifault.com \
/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