]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sched: Mandate shared flags for sched_change
authorPeter Zijlstra <peterz@infradead.org>
Mon, 6 Oct 2025 18:12:34 +0000 (20:12 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 16 Oct 2025 09:13:54 +0000 (11:13 +0200)
Shrikanth noted that sched_change pattern relies on using shared
flags.

Suggested-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
kernel/sched/core.c

index 3d5659f136240ed7f475ea6b0371f7ba1dc69380..e2199e4db0dc44f50bc7f922cb796c01bed87d38 100644 (file)
@@ -10781,6 +10781,12 @@ struct sched_change_ctx *sched_change_begin(struct task_struct *p, unsigned int
        struct sched_change_ctx *ctx = this_cpu_ptr(&sched_change_ctx);
        struct rq *rq = task_rq(p);
 
+       /*
+        * Must exclusively use matched flags since this is both dequeue and
+        * enqueue.
+        */
+       WARN_ON_ONCE(flags & 0xFFFF0000);
+
        lockdep_assert_rq_held(rq);
 
        if (!(flags & DEQUEUE_NOCLOCK)) {