mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 14:13:53 +00:00
sched: Fix sched_delayed vs sched_core
Completely analogous to commitdfa0a574cb
("sched/uclamg: Handle delayed dequeue"), avoid double dequeue for the sched_core entries. Fixes:152e11f6df
("sched/fair: Implement delayed dequeue") Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
parent
729288bc68
commit
c662e2b1e8
@ -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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user