Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

sched: Fix sched_delayed vs sched_core

Completely analogous to commit dfa0a574cbc4 ("sched/uclamg: Handle
delayed dequeue"), avoid double dequeue for the sched_core entries.

Fixes: 152e11f6df29 ("sched/fair: Implement delayed dequeue")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>

+6
+6
kernel/sched/core.c
··· 259 259 260 260 void sched_core_enqueue(struct rq *rq, struct task_struct *p) 261 261 { 262 + if (p->se.sched_delayed) 263 + return; 264 + 262 265 rq->core->core_task_seq++; 263 266 264 267 if (!p->core_cookie) ··· 272 269 273 270 void sched_core_dequeue(struct rq *rq, struct task_struct *p, int flags) 274 271 { 272 + if (p->se.sched_delayed) 273 + return; 274 + 275 275 rq->core->core_task_seq++; 276 276 277 277 if (sched_core_enqueued(p)) {