All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Righi <arighi@nvidia.com>
To: Tejun Heo <tj@kernel.org>
Cc: sched-ext@lists.linux.dev, David Vernet <void@manifault.com>,
	Changwoo Min <changwoo@igalia.com>,
	Emil Tsalapatis <emil@etsalapatis.com>,
	David Dai <david.dai@linux.dev>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] sched_ext: Regenerate tools autogen enum headers
Date: Fri, 23 Oct 2026 07:44:03 +0200	[thread overview]
Message-ID: <atr0I5EF7hmM_m7Y@gpd4> (raw)
In-Reply-To: <20261023000348.2726436-2-tj@kernel.org>

Hi Tejun,

On Thu, Oct 22, 2026 at 02:03:47PM -1000, Tejun Heo wrote:
> Regenerate enum_defs.autogen.h and enums_abi.autogen.h from the current
> vmlinux.h. The enums added since the last regeneration lacked presence
> markers and ABI values.
> 
> Signed-off-by: Tejun Heo <tj@kernel.org>

Not a blocker, but while looking at this I noticed that enums.autogen.h
(and the .bpf.h counterpart) still carries a few entries that no longer
exist in the kernel:

  SCX_RQ_BAL_PENDING
  SCX_RQ_BAL_KEEP
  SCX_RQ_BYPASSING
  SCX_RQ_IN_BALANCE
  SCX_TASK_NR_STATES

They're harmless, but I think we can drop them, maybe as a follow-up
change.

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

Thanks,
-Andrea

> ---
>  .../sched_ext/include/scx/enum_defs.autogen.h | 11 ++++++++++
>  .../sched_ext/include/scx/enums_abi.autogen.h | 21 ++++++++++++++-----
>  2 files changed, 27 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/sched_ext/include/scx/enum_defs.autogen.h b/tools/sched_ext/include/scx/enum_defs.autogen.h
> index 4fa82033b99c..27b45040c88a 100644
> --- a/tools/sched_ext/include/scx/enum_defs.autogen.h
> +++ b/tools/sched_ext/include/scx/enum_defs.autogen.h
> @@ -23,6 +23,8 @@
>  #define HAVE_SCX_CAPS_REENQ_ON_LOSS
>  #define HAVE_SCX_CID_SHARD_SIZE_DFL
>  #define HAVE_SCX_CID_SHARD_MAX_CPUS
> +#define HAVE_SCX_CID_SCHED_NONE
> +#define HAVE_SCX_CID_SCHED_SELF
>  #define HAVE_SCX_DSP_DFL_MAX_BATCH
>  #define HAVE_SCX_DSP_MAX_LOOPS
>  #define HAVE_SCX_WATCHDOG_MAX_TIMEOUT
> @@ -71,6 +73,7 @@
>  #define HAVE_SCX_DSQ_LOCAL_ON
>  #define HAVE_SCX_DSQ_LOCAL_CPU_MASK
>  #define HAVE_SCX_DSQ_ITER_REV
> +#define HAVE___SCX_DSQ_ITER_HAS_REENQ
>  #define HAVE___SCX_DSQ_ITER_HAS_SLICE
>  #define HAVE___SCX_DSQ_ITER_HAS_VTIME
>  #define HAVE___SCX_DSQ_ITER_USER_FLAGS
> @@ -100,6 +103,7 @@
>  #define HAVE_SCX_ENQ_APPLY_SLICE
>  #define HAVE_SCX_ENQ_SLICE_DFL
>  #define HAVE_SCX_TASK_DSQ_ON_PRIQ
> +#define HAVE_SCX_TASK_DSQ_REENQ
>  #define HAVE_SCX_TASK_QUEUED
>  #define HAVE_SCX_TASK_IN_CUSTODY
>  #define HAVE_SCX_TASK_RESET_RUNNABLE_AT
> @@ -188,6 +192,7 @@
>  #define HAVE_SCX_SLICE_INF
>  #define HAVE_SCX_REENQ_ANY
>  #define HAVE_SCX_REENQ_CAP_REVOKE
> +#define HAVE_SCX_REENQ_MARKED
>  #define HAVE___SCX_REENQ_FILTER_MASK
>  #define HAVE___SCX_REENQ_USER_MASK
>  #define HAVE_SCX_REENQ_TSR_RQ_OPEN
> @@ -195,15 +200,21 @@
>  #define HAVE___SCX_REENQ_TSR_MASK
>  #define HAVE_SCX_RQ_ONLINE
>  #define HAVE_SCX_RQ_CAN_STOP_TICK
> +#define HAVE_SCX_RQ_OPS_ONLINE
>  #define HAVE_SCX_RQ_CLK_VALID
>  #define HAVE_SCX_RQ_BAL_CB_PENDING
>  #define HAVE_SCX_RQ_SUB_IDLE_RENOTIFY
>  #define HAVE_SCX_RQ_ROOT_IDLE_RENOTIFY
>  #define HAVE_SCX_RQ_PROXY_RETRY
>  #define HAVE_SCX_RQ_PROXY_TICK
> +#define HAVE_SCX_RQ_PROXY_PENDING
> +#define HAVE_SCX_RQ_PROXY_BLOCKING
>  #define HAVE_SCX_RQ_IN_WAKEUP
>  #define HAVE_SCX_RQ_IN_DISPATCH
>  #define HAVE_SCX_SCHED_PCPU_BYPASSING
> +#define HAVE_SCX_SCHED_PCPU_ECAPS_ENABLED
> +#define HAVE_SCX_SCHED_PCPU_ECAPS_REPORT
> +#define HAVE_SCX_SCHED_PCPU_ECAPS_OFFLINE
>  #define HAVE_SCX_SLICE_OOB_DUR_BITS
>  #define HAVE_SCX_SLICE_OOB_ID_BITS
>  #define HAVE_SCX_SLICE_OOB_DUR_MASK
> diff --git a/tools/sched_ext/include/scx/enums_abi.autogen.h b/tools/sched_ext/include/scx/enums_abi.autogen.h
> index 1186daa9cb14..5cf54dcf5ffe 100644
> --- a/tools/sched_ext/include/scx/enums_abi.autogen.h
> +++ b/tools/sched_ext/include/scx/enums_abi.autogen.h
> @@ -35,6 +35,8 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_cap_flags", "SCX_CAPS_REENQ_ON_LOSS", 0x3LLU },
>  	{ "scx_cid_consts", "SCX_CID_SHARD_SIZE_DFL", 0x18LLU },
>  	{ "scx_cid_consts", "SCX_CID_SHARD_MAX_CPUS", 0x200LLU },
> +	{ "scx_cid_sched_consts", "SCX_CID_SCHED_NONE", 0xfffffffffffffffeLLU },
> +	{ "scx_cid_sched_consts", "SCX_CID_SCHED_SELF", 0xffffffffffffffffLLU },
>  	{ "scx_consts", "SCX_DSP_DFL_MAX_BATCH", 0x20LLU },
>  	{ "scx_consts", "SCX_DSP_MAX_LOOPS", 0x20LLU },
>  	{ "scx_consts", "SCX_WATCHDOG_MAX_TIMEOUT", 0x7530LLU },
> @@ -83,10 +85,11 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_dsq_id_flags", "SCX_DSQ_LOCAL_ON", 0xc000000000000000LLU },
>  	{ "scx_dsq_id_flags", "SCX_DSQ_LOCAL_CPU_MASK", 0xffffffffLLU },
>  	{ "scx_dsq_iter_flags", "SCX_DSQ_ITER_REV", 0x10000LLU },
> +	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_HAS_REENQ", 0x20000000LLU },
>  	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_HAS_SLICE", 0x40000000LLU },
>  	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_HAS_VTIME", 0x80000000LLU },
>  	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_USER_FLAGS", 0x10000LLU },
> -	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_ALL_FLAGS", 0xc0010000LLU },
> +	{ "scx_dsq_iter_flags", "__SCX_DSQ_ITER_ALL_FLAGS", 0xe0010000LLU },
>  	{ "scx_dsq_lnode_flags", "SCX_DSQ_LNODE_ITER_CURSOR", 0x1LLU },
>  	{ "scx_dsq_lnode_flags", "__SCX_DSQ_LNODE_PRIV_SHIFT", 0x10LLU },
>  	{ "scx_enable_state", "SCX_ENABLING", 0x0LLU },
> @@ -112,6 +115,7 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_enq_flags", "SCX_ENQ_APPLY_SLICE", 0x2000000000000000LLU },
>  	{ "scx_enq_flags", "SCX_ENQ_SLICE_DFL", 0x4000000000000000LLU },
>  	{ "scx_ent_dsq_flags", "SCX_TASK_DSQ_ON_PRIQ", 0x1LLU },
> +	{ "scx_ent_dsq_flags", "SCX_TASK_DSQ_REENQ", 0x2LLU },
>  	{ "scx_ent_flags", "SCX_TASK_QUEUED", 0x1LLU },
>  	{ "scx_ent_flags", "SCX_TASK_IN_CUSTODY", 0x2LLU },
>  	{ "scx_ent_flags", "SCX_TASK_RESET_RUNNABLE_AT", 0x4LLU },
> @@ -169,10 +173,10 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_kick_flags", "SCX_KICK_ALL_FLAGS", 0xfLLU },
>  	{ "scx_opi", "SCX_OPI_BEGIN", 0x0LLU },
>  	{ "scx_opi", "SCX_OPI_NORMAL_BEGIN", 0x0LLU },
> -	{ "scx_opi", "SCX_OPI_NORMAL_END", 0x21LLU },
> -	{ "scx_opi", "SCX_OPI_CPU_HOTPLUG_BEGIN", 0x21LLU },
> -	{ "scx_opi", "SCX_OPI_CPU_HOTPLUG_END", 0x23LLU },
> -	{ "scx_opi", "SCX_OPI_END", 0x23LLU },
> +	{ "scx_opi", "SCX_OPI_NORMAL_END", 0x23LLU },
> +	{ "scx_opi", "SCX_OPI_CPU_HOTPLUG_BEGIN", 0x23LLU },
> +	{ "scx_opi", "SCX_OPI_CPU_HOTPLUG_END", 0x25LLU },
> +	{ "scx_opi", "SCX_OPI_END", 0x25LLU },
>  	{ "scx_ops_flags", "SCX_OPS_KEEP_BUILTIN_IDLE", 0x1LLU },
>  	{ "scx_ops_flags", "SCX_OPS_ENQ_LAST", 0x2LLU },
>  	{ "scx_ops_flags", "SCX_OPS_ENQ_EXITING", 0x4LLU },
> @@ -200,6 +204,7 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_public_consts", "SCX_SLICE_INF", 0xffffffffffffffffLLU },
>  	{ "scx_reenq_flags", "SCX_REENQ_ANY", 0x1LLU },
>  	{ "scx_reenq_flags", "SCX_REENQ_CAP_REVOKE", 0x2LLU },
> +	{ "scx_reenq_flags", "SCX_REENQ_MARKED", 0x4LLU },
>  	{ "scx_reenq_flags", "__SCX_REENQ_FILTER_MASK", 0xffffLLU },
>  	{ "scx_reenq_flags", "__SCX_REENQ_USER_MASK", 0x1LLU },
>  	{ "scx_reenq_flags", "SCX_REENQ_TSR_RQ_OPEN", 0x100000000LLU },
> @@ -207,15 +212,21 @@ static const struct __scx_enum_abi_val __scx_enum_abi_vals[]
>  	{ "scx_reenq_flags", "__SCX_REENQ_TSR_MASK", 0xf00000000LLU },
>  	{ "scx_rq_flags", "SCX_RQ_ONLINE", 0x1LLU },
>  	{ "scx_rq_flags", "SCX_RQ_CAN_STOP_TICK", 0x2LLU },
> +	{ "scx_rq_flags", "SCX_RQ_OPS_ONLINE", 0x4LLU },
>  	{ "scx_rq_flags", "SCX_RQ_CLK_VALID", 0x20LLU },
>  	{ "scx_rq_flags", "SCX_RQ_BAL_CB_PENDING", 0x40LLU },
>  	{ "scx_rq_flags", "SCX_RQ_SUB_IDLE_RENOTIFY", 0x80LLU },
>  	{ "scx_rq_flags", "SCX_RQ_ROOT_IDLE_RENOTIFY", 0x100LLU },
>  	{ "scx_rq_flags", "SCX_RQ_PROXY_RETRY", 0x200LLU },
>  	{ "scx_rq_flags", "SCX_RQ_PROXY_TICK", 0x400LLU },
> +	{ "scx_rq_flags", "SCX_RQ_PROXY_PENDING", 0x800LLU },
> +	{ "scx_rq_flags", "SCX_RQ_PROXY_BLOCKING", 0x1000LLU },
>  	{ "scx_rq_flags", "SCX_RQ_IN_WAKEUP", 0x10000LLU },
>  	{ "scx_rq_flags", "SCX_RQ_IN_DISPATCH", 0x20000LLU },
>  	{ "scx_sched_pcpu_flags", "SCX_SCHED_PCPU_BYPASSING", 0x1LLU },
> +	{ "scx_sched_pcpu_flags", "SCX_SCHED_PCPU_ECAPS_ENABLED", 0x2LLU },
> +	{ "scx_sched_pcpu_flags", "SCX_SCHED_PCPU_ECAPS_REPORT", 0x4LLU },
> +	{ "scx_sched_pcpu_flags", "SCX_SCHED_PCPU_ECAPS_OFFLINE", 0x8LLU },
>  	{ "scx_slice_oob_consts", "SCX_SLICE_OOB_DUR_BITS", 0x2bLLU },
>  	{ "scx_slice_oob_consts", "SCX_SLICE_OOB_ID_BITS", 0x14LLU },
>  	{ "scx_slice_oob_consts", "SCX_SLICE_OOB_DUR_MASK", 0x7ffffffffffLLU },
> -- 
> 2.56.0
> 

  reply	other threads:[~2026-10-23  5:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-23  0:03 [PATCHSET sched_ext/for-7.5] sched_ext: Regenerate the enum tables and drop scx_qmap's last compat lookup Tejun Heo
2026-10-23  0:03 ` [PATCH 1/2] sched_ext: Regenerate tools autogen enum headers Tejun Heo
2026-10-23  5:44   ` Andrea Righi [this message]
2026-10-23  0:03 ` [PATCH 2/2] sched_ext: scx_qmap: Read SCX_RESCUE_DISABLE through the enum lookup tables Tejun Heo
2026-10-23  5:45   ` Andrea Righi
2026-10-23 20:26 ` [PATCHSET sched_ext/for-7.5] sched_ext: Regenerate the enum tables and drop scx_qmap's last compat lookup 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=atr0I5EF7hmM_m7Y@gpd4 \
    --to=arighi@nvidia.com \
    --cc=changwoo@igalia.com \
    --cc=david.dai@linux.dev \
    --cc=emil@etsalapatis.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sched-ext@lists.linux.dev \
    --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.