All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Righi <arighi@nvidia.com>
To: Cheng-Yang Chou <yphbchou0911@gmail.com>
Cc: sched-ext@lists.linux.dev, Tejun Heo <tj@kernel.org>,
	David Vernet <void@manifault.com>,
	Changwoo Min <changwoo@igalia.com>,
	Ching-Chun Huang <jserv@ccns.ncku.edu.tw>,
	Chia-Ping Tsai <chia7712@gmail.com>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v2 sched_ext/for-7.1] sched_ext: Fix build errors and unused label warning in non-cgroup configs
Date: Sun, 22 Mar 2026 08:13:48 +0100	[thread overview]
Message-ID: <ab-WrGgPTU27W9vl@gpd4> (raw)
In-Reply-To: <20260322063955.951848-1-yphbchou0911@gmail.com>

On Sun, Mar 22, 2026 at 02:39:50PM +0800, Cheng-Yang Chou wrote:
> When building with SCHED_CLASS_EXT=y but CGROUPS=n, clang reports errors
> for undeclared cgroup_put() and cgroup_get() calls, and a warning for the
> unused err_stop_helper label.
> 
> EXT_SUB_SCHED is def_bool y depending only on SCHED_CLASS_EXT, but it
> fundamentally requires cgroups (cgroup_path, cgroup_get, cgroup_put,
> cgroup_id, etc.). Add the missing CGROUPS dependency to EXT_SUB_SCHED in
> init/Kconfig.
> 
> Guard cgroup_put() and cgroup_get() in the common paths with:
>   #if defined(CONFIG_EXT_GROUP_SCHED) || defined(CONFIG_EXT_SUB_SCHED)
> 
> Guard the err_stop_helper label with #ifdef CONFIG_EXT_SUB_SCHED since
> all gotos targeting it are inside that same ifdef block.
> 
> Tested with both CGROUPS enabled and disabled.
> 
> Fixes: ebeca1f930ea ("sched_ext: Introduce cgroup sub-sched support")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202603210903.IrKhPd6k-lkp@intel.com/
> Signed-off-by: Cheng-Yang Chou <yphbchou0911@gmail.com>

Looks good to me.

Acked-by: Andrea Righi <arighi@nvidia.com>

Thanks,
-Andrea

> ---
>  init/Kconfig       | 2 +-
>  kernel/sched/ext.c | 6 ++++++
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/init/Kconfig b/init/Kconfig
> index 06abd8e272cb..487a93e34be9 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1178,7 +1178,7 @@ endif #CGROUP_SCHED
>  
>  config EXT_SUB_SCHED
>          def_bool y
> -        depends on SCHED_CLASS_EXT
> +        depends on SCHED_CLASS_EXT && CGROUPS
>  
>  config SCHED_MM_CID
>  	def_bool y
> diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
> index 94548ee9ad85..2e7a1259bd7c 100644
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext.c
> @@ -6494,8 +6494,10 @@ static struct scx_sched *scx_alloc_and_add_sched(struct sched_ext_ops *ops,
>  #endif	/* CONFIG_EXT_SUB_SCHED */
>  	return sch;
>  
> +#ifdef CONFIG_EXT_SUB_SCHED
>  err_stop_helper:
>  	kthread_destroy_worker(sch->helper);
> +#endif
>  err_free_pcpu:
>  	for_each_possible_cpu(cpu) {
>  		if (cpu == bypass_fail_cpu)
> @@ -6514,7 +6516,9 @@ static struct scx_sched *scx_alloc_and_add_sched(struct sched_ext_ops *ops,
>  err_free_sch:
>  	kfree(sch);
>  err_put_cgrp:
> +#if defined(CONFIG_EXT_GROUP_SCHED) || defined(CONFIG_EXT_SUB_SCHED)
>  	cgroup_put(cgrp);
> +#endif
>  	return ERR_PTR(ret);
>  }
>  
> @@ -6603,7 +6607,9 @@ static void scx_root_enable_workfn(struct kthread_work *work)
>  	if (ret)
>  		goto err_unlock;
>  
> +#if defined(CONFIG_EXT_GROUP_SCHED) || defined(CONFIG_EXT_SUB_SCHED)
>  	cgroup_get(cgrp);
> +#endif
>  	sch = scx_alloc_and_add_sched(ops, cgrp, NULL);
>  	if (IS_ERR(sch)) {
>  		ret = PTR_ERR(sch);
> -- 
> 2.48.1
> 

  reply	other threads:[~2026-03-22  7:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-22  6:39 [PATCH v2 sched_ext/for-7.1] sched_ext: Fix build errors and unused label warning in non-cgroup configs Cheng-Yang Chou
2026-03-22  7:13 ` Andrea Righi [this message]
2026-03-22 13:48   ` [PATCH v3 " Cheng-Yang Chou
2026-03-22 20:06     ` 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=ab-WrGgPTU27W9vl@gpd4 \
    --to=arighi@nvidia.com \
    --cc=changwoo@igalia.com \
    --cc=chia7712@gmail.com \
    --cc=jserv@ccns.ncku.edu.tw \
    --cc=lkp@intel.com \
    --cc=sched-ext@lists.linux.dev \
    --cc=tj@kernel.org \
    --cc=void@manifault.com \
    --cc=yphbchou0911@gmail.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.