Skip to content

Commit c662e2b

Browse files
author
Peter Zijlstra
committed
sched: Fix sched_delayed vs sched_core
Completely analogous to commit dfa0a57 ("sched/uclamg: Handle delayed dequeue"), avoid double dequeue for the sched_core entries. Fixes: 152e11f ("sched/fair: Implement delayed dequeue") Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
1 parent 729288b commit c662e2b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

kernel/sched/core.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,9 @@ static inline int rb_sched_core_cmp(const void *key, const struct rb_node *node)
259259

260260
void sched_core_enqueue(struct rq *rq, struct task_struct *p)
261261
{
262+
if (p->se.sched_delayed)
263+
return;
264+
262265
rq->core->core_task_seq++;
263266

264267
if (!p->core_cookie)
@@ -269,6 +272,9 @@ void sched_core_enqueue(struct rq *rq, struct task_struct *p)
269272

270273
void sched_core_dequeue(struct rq *rq, struct task_struct *p, int flags)
271274
{
275+
if (p->se.sched_delayed)
276+
return;
277+
272278
rq->core->core_task_seq++;
273279

274280
if (sched_core_enqueued(p)) {

0 commit comments

Comments
 (0)