Commit c662e2b1 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

sched: Fix sched_delayed vs sched_core



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

Fixes: 152e11f6 ("sched/fair: Implement delayed dequeue")
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent 729288bc
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -259,6 +259,9 @@ static inline int rb_sched_core_cmp(const void *key, const struct rb_node *node)

void sched_core_enqueue(struct rq *rq, struct task_struct *p)
{
	if (p->se.sched_delayed)
		return;

	rq->core->core_task_seq++;

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

void sched_core_dequeue(struct rq *rq, struct task_struct *p, int flags)
{
	if (p->se.sched_delayed)
		return;

	rq->core->core_task_seq++;

	if (sched_core_enqueued(p)) {