diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-10-06 20:12:34 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-10-16 11:13:54 +0200 |
| commit | 73ec89a1ce4bce98f74b6520a95e64cd9986aae5 (patch) | |
| tree | e59b9b161f8de159328bd63f0edf76f6554728d9 /kernel | |
| parent | d4c64207b88a60dd15a38c790bb73c0b6f9a8c40 (diff) | |
sched: Mandate shared flags for sched_change
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>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 3d5659f13624..e2199e4db0dc 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -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)) { |