]> Gentwo Git Trees - linux/.git/commitdiff
sched_ext: Factor out scx_dsq_list_node cursor initialization into INIT_DSQ_LIST_CURSOR
authorTejun Heo <tj@kernel.org>
Tue, 11 Nov 2025 19:18:14 +0000 (09:18 -1000)
committerTejun Heo <tj@kernel.org>
Wed, 12 Nov 2025 16:43:44 +0000 (06:43 -1000)
Factor out scx_dsq_list_node cursor initialization into INIT_DSQ_LIST_CURSOR
macro in preparation for additional users.

Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Cc: Dan Schatzberg <schatzberg.dan@gmail.com>
Acked-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/sched/ext.h
kernel/sched/ext.c

index d6c152475f5b4670f6f2dac33efb0029ee9c4678..70ee5c28a74def72e9d17876e27b4da36e6be14d 100644 (file)
@@ -149,6 +149,13 @@ struct scx_dsq_list_node {
        u32                     priv;           /* can be used by iter cursor */
 };
 
+#define INIT_DSQ_LIST_CURSOR(__node, __flags, __priv)                          \
+       (struct scx_dsq_list_node) {                                            \
+               .node = LIST_HEAD_INIT((__node).node),                          \
+               .flags = SCX_DSQ_LNODE_ITER_CURSOR | (__flags),                 \
+               .priv = (__priv),                                               \
+       }
+
 /*
  * The following is embedded in task_struct and contains all fields necessary
  * for a task to be scheduled by SCX.
index b5c87a03f112d3a77700d01813f165263a4ae82a..56946aceeb28a06c79e61b044c6a23d25e02521e 100644 (file)
@@ -6253,9 +6253,8 @@ __bpf_kfunc int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id,
        if (!kit->dsq)
                return -ENOENT;
 
-       INIT_LIST_HEAD(&kit->cursor.node);
-       kit->cursor.flags = SCX_DSQ_LNODE_ITER_CURSOR | flags;
-       kit->cursor.priv = READ_ONCE(kit->dsq->seq);
+       kit->cursor = INIT_DSQ_LIST_CURSOR(kit->cursor, flags,
+                                          READ_ONCE(kit->dsq->seq));
 
        return 0;
 }