From: Andrea Righi <arighi@nvidia.com>
To: Tejun Heo <tj@kernel.org>
Cc: David Vernet <void@manifault.com>,
Changwoo Min <changwoo@igalia.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH sched_ext/for-6.16] sched_ext: Remove cpu.weight / cpu.idle unimplemented warnings
Date: Tue, 8 Apr 2025 09:58:25 +0200 [thread overview]
Message-ID: <Z_TXIe2fVpAt-CAg@gpd3> (raw)
In-Reply-To: <Z_RdpDkLCXm140RT@slm.duckdns.org>
Hi Tejun,
On Mon, Apr 07, 2025 at 01:20:04PM -1000, Tejun Heo wrote:
> sched_ext generates warnings when cpu.weight / cpu.idle are set to
> non-default values if the BPF scheduler doesn't implement weight support.
> These warnings don't provide much value while adding constant annoyance. A
> BPF scheduler may not implement any particular behavior and there's nothing
> particularly special about missing cgroup weight support. Drop the warnings.
Thanks for dropping these warnings. :)
Acked-by: Andrea Righi <arighi@nvidia.com>
Should we also deprecate SCX_OPS_HAS_CGROUP_WEIGHT (not necessarily in this
patch)? It's basically unused at this point.
Thanks,
-Andrea
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> ---
> kernel/sched/ext.c | 40 +---------------------------------------
> 1 file changed, 1 insertion(+), 39 deletions(-)
>
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext.c
> @@ -3896,34 +3896,6 @@ bool scx_can_stop_tick(struct rq *rq)
>
> DEFINE_STATIC_PERCPU_RWSEM(scx_cgroup_rwsem);
> static bool scx_cgroup_enabled;
> -static bool cgroup_warned_missing_weight;
> -static bool cgroup_warned_missing_idle;
> -
> -static void scx_cgroup_warn_missing_weight(struct task_group *tg)
> -{
> - if (scx_enable_state() == SCX_DISABLED || cgroup_warned_missing_weight)
> - return;
> -
> - if ((scx_ops.flags & SCX_OPS_HAS_CGROUP_WEIGHT) || !tg->css.parent)
> - return;
> -
> - pr_warn("sched_ext: \"%s\" does not implement cgroup cpu.weight\n",
> - scx_ops.name);
> - cgroup_warned_missing_weight = true;
> -}
> -
> -static void scx_cgroup_warn_missing_idle(struct task_group *tg)
> -{
> - if (!scx_cgroup_enabled || cgroup_warned_missing_idle)
> - return;
> -
> - if (!tg->idle)
> - return;
> -
> - pr_warn("sched_ext: \"%s\" does not implement cgroup cpu.idle\n",
> - scx_ops.name);
> - cgroup_warned_missing_idle = true;
> -}
>
> int scx_tg_online(struct task_group *tg)
> {
> @@ -3933,8 +3905,6 @@ int scx_tg_online(struct task_group *tg)
>
> percpu_down_read(&scx_cgroup_rwsem);
>
> - scx_cgroup_warn_missing_weight(tg);
> -
> if (scx_cgroup_enabled) {
> if (SCX_HAS_OP(cgroup_init)) {
> struct scx_cgroup_init_args args =
> @@ -4072,9 +4042,7 @@ void scx_group_set_weight(struct task_gr
>
> void scx_group_set_idle(struct task_group *tg, bool idle)
> {
> - percpu_down_read(&scx_cgroup_rwsem);
> - scx_cgroup_warn_missing_idle(tg);
> - percpu_up_read(&scx_cgroup_rwsem);
> + /* TODO: Implement ops->cgroup_set_idle() */
> }
>
> static void scx_cgroup_lock(void)
> @@ -4268,9 +4236,6 @@ static int scx_cgroup_init(void)
>
> percpu_rwsem_assert_held(&scx_cgroup_rwsem);
>
> - cgroup_warned_missing_weight = false;
> - cgroup_warned_missing_idle = false;
> -
> /*
> * scx_tg_on/offline() are excluded through scx_cgroup_rwsem. If we walk
> * cgroups and init, all online cgroups are initialized.
> @@ -4280,9 +4245,6 @@ static int scx_cgroup_init(void)
> struct task_group *tg = css_tg(css);
> struct scx_cgroup_init_args args = { .weight = tg->scx_weight };
>
> - scx_cgroup_warn_missing_weight(tg);
> - scx_cgroup_warn_missing_idle(tg);
> -
> if ((tg->scx_flags &
> (SCX_TG_ONLINE | SCX_TG_INITED)) != SCX_TG_ONLINE)
> continue;
next prev parent reply other threads:[~2025-04-08 7:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-07 23:20 [PATCH sched_ext/for-6.16] sched_ext: Remove cpu.weight / cpu.idle unimplemented warnings Tejun Heo
2025-04-08 1:23 ` Changwoo Min
2025-04-08 7:58 ` Andrea Righi [this message]
2025-04-08 18:12 ` [PATCH sched_ext/for-6.15-fixes] sched_ext: Mark SCX_OPS_HAS_CGROUP_WEIGHT for deprecation Tejun Heo
2025-04-08 18:28 ` Andrea Righi
2025-04-08 18:29 ` Tejun Heo
2025-04-08 18:31 ` [PATCH v2 " Tejun Heo
2025-04-08 18:41 ` Andrea Righi
2025-04-08 18:54 ` Tejun Heo
2025-04-08 17:55 ` [PATCH sched_ext/for-6.16] sched_ext: Remove cpu.weight / cpu.idle unimplemented warnings Tejun Heo
2025-04-08 18:01 ` 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=Z_TXIe2fVpAt-CAg@gpd3 \
--to=arighi@nvidia.com \
--cc=changwoo@igalia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--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 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.