From: Peter Zijlstra <peterz@infradead.org>
To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com,
vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
vschneid@redhat.com, linux-kernel@vger.kernel.org
Cc: kprateek.nayak@amd.com, wuyun.abel@bytedance.com,
youssefesmat@chromium.org, tglx@linutronix.de, efault@gmx.de
Subject: [PATCH 19/24] sched/eevdf: Fixup PELT vs DELAYED_DEQUEUE
Date: Sat, 27 Jul 2024 12:27:51 +0200 [thread overview]
Message-ID: <20240727105030.514088302@infradead.org> (raw)
In-Reply-To: 20240727102732.960974693@infradead.org
Note that tasks that are kept on the runqueue to burn off negative
lag, are not in fact runnable anymore, they'll get dequeued the moment
they get picked.
As such, don't count this time towards runnable.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
kernel/sched/fair.c | 2 ++
kernel/sched/sched.h | 6 ++++++
2 files changed, 8 insertions(+)
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5388,6 +5388,7 @@ dequeue_entity(struct cfs_rq *cfs_rq, st
if (cfs_rq->next == se)
cfs_rq->next = NULL;
se->sched_delayed = 1;
+ update_load_avg(cfs_rq, se, 0);
return false;
}
}
@@ -6814,6 +6815,7 @@ requeue_delayed_entity(struct sched_enti
}
se->sched_delayed = 0;
+ update_load_avg(cfs_rq, se, 0);
}
/*
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -816,6 +816,9 @@ static inline void se_update_runnable(st
static inline long se_runnable(struct sched_entity *se)
{
+ if (se->sched_delayed)
+ return false;
+
if (entity_is_task(se))
return !!se->on_rq;
else
@@ -830,6 +833,9 @@ static inline void se_update_runnable(st
static inline long se_runnable(struct sched_entity *se)
{
+ if (se->sched_delayed)
+ return false;
+
return !!se->on_rq;
}
next prev parent reply other threads:[~2024-07-27 11:02 UTC|newest]
Thread overview: 241+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-27 10:27 [PATCH 00/24] Complete EEVDF Peter Zijlstra
2024-07-27 10:27 ` [PATCH 01/24] sched/eevdf: Add feature comments Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 02/24] sched/eevdf: Remove min_vruntime_copy Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 03/24] sched/fair: Cleanup pick_task_fair() vs throttle Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 04/24] sched/fair: Cleanup pick_task_fair()s curr Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] sched/fair: Cleanup pick_task_fair()'s curr tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 05/24] sched/fair: Unify pick_{,next_}_task_fair() Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 06/24] sched: Allow sched_class::dequeue_task() to fail Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 07/24] sched/fair: Re-organize dequeue_task_fair() Peter Zijlstra
2024-08-09 16:53 ` Valentin Schneider
2024-08-10 22:17 ` Peter Zijlstra
2024-08-12 10:02 ` Valentin Schneider
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 08/24] sched: Split DEQUEUE_SLEEP from deactivate_task() Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 09/24] sched: Prepare generic code for delayed dequeue Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 10/24] sched/uclamg: Handle " Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-08-19 9:14 ` Christian Loehle
2024-08-20 16:23 ` [PATCH 10/24] " Hongyan Xia
2024-08-21 13:34 ` Hongyan Xia
2024-08-22 8:19 ` Vincent Guittot
2024-08-22 8:21 ` Vincent Guittot
2024-08-22 9:21 ` Luis Machado
2024-08-22 9:53 ` Vincent Guittot
2024-08-22 10:20 ` Vincent Guittot
2024-08-22 10:28 ` Luis Machado
2024-08-22 12:07 ` Luis Machado
2024-08-22 12:10 ` Vincent Guittot
2024-08-22 14:58 ` Vincent Guittot
2024-08-29 15:42 ` Hongyan Xia
2024-09-05 13:02 ` Dietmar Eggemann
2024-09-05 13:33 ` Vincent Guittot
2024-09-05 14:07 ` Dietmar Eggemann
2024-09-05 14:29 ` Vincent Guittot
2024-09-05 14:50 ` Dietmar Eggemann
2024-09-05 14:53 ` Peter Zijlstra
2024-09-06 6:14 ` Vincent Guittot
2024-09-06 10:45 ` Peter Zijlstra
2024-09-08 7:43 ` Mike Galbraith
2024-09-10 8:09 ` [tip: sched/core] sched/eevdf: More PELT vs DELAYED_DEQUEUE tip-bot2 for Peter Zijlstra
2024-11-27 4:17 ` K Prateek Nayak
2024-11-27 9:34 ` Luis Machado
2024-11-28 6:35 ` K Prateek Nayak
2024-09-10 11:04 ` [PATCH 10/24] sched/uclamg: Handle delayed dequeue Luis Machado
2024-09-10 14:05 ` Peter Zijlstra
2024-09-11 8:35 ` Luis Machado
2024-09-11 8:45 ` Peter Zijlstra
2024-09-11 8:55 ` Luis Machado
2024-09-11 9:10 ` Mike Galbraith
2024-09-11 9:13 ` Peter Zijlstra
2024-09-11 9:27 ` Mike Galbraith
2024-09-12 14:00 ` Mike Galbraith
2024-09-13 16:39 ` Mike Galbraith
2024-09-14 3:40 ` Mike Galbraith
2024-09-24 15:16 ` Luis Machado
2024-09-24 17:35 ` Mike Galbraith
2024-09-25 5:14 ` Mike Galbraith
2024-09-11 11:49 ` Dietmar Eggemann
2024-09-11 9:38 ` Luis Machado
2024-09-12 12:58 ` Luis Machado
2024-09-12 20:44 ` Dietmar Eggemann
2024-09-11 10:46 ` Luis Machado
2024-09-06 9:55 ` Dietmar Eggemann
2024-09-05 14:18 ` Peter Zijlstra
2024-09-10 8:09 ` [tip: sched/core] kernel/sched: Fix util_est accounting for DELAY_DEQUEUE tip-bot2 for Dietmar Eggemann
2024-07-27 10:27 ` [PATCH 11/24] sched/fair: Assert {set_next,put_prev}_entity() are properly balanced Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 12/24] sched/fair: Prepare exit/cleanup paths for delayed_dequeue Peter Zijlstra
2024-08-13 12:43 ` Valentin Schneider
2024-08-13 21:54 ` Peter Zijlstra
2024-08-13 22:07 ` Peter Zijlstra
2024-08-14 5:53 ` Peter Zijlstra
2024-08-27 9:35 ` Chen Yu
2024-08-27 20:29 ` Valentin Schneider
2024-08-28 2:55 ` Chen Yu
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-08-27 9:17 ` [PATCH 12/24] " Chen Yu
2024-08-28 3:06 ` Chen Yu
2024-07-27 10:27 ` [PATCH 13/24] sched/fair: Prepare pick_next_task() for delayed dequeue Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-09-10 9:16 ` [PATCH 13/24] " Luis Machado
2024-07-27 10:27 ` [PATCH 14/24] sched/fair: Implement ENQUEUE_DELAYED Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 15/24] sched,freezer: Mark TASK_FROZEN special Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 16/24] sched: Teach dequeue_task() about special task states Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 17/24] sched/fair: Implement delayed dequeue Peter Zijlstra
2024-08-02 14:39 ` Valentin Schneider
2024-08-02 14:59 ` Peter Zijlstra
2024-08-02 16:32 ` Valentin Schneider
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-08-19 10:01 ` [PATCH 17/24] " Luis Machado
[not found] ` <CGME20240828223802eucas1p16755f4531ed0611dc4871649746ea774@eucas1p1.samsung.com>
2024-08-28 22:38 ` Marek Szyprowski
2024-10-10 2:49 ` Sean Christopherson
2024-10-10 7:57 ` Mike Galbraith
2024-10-10 16:18 ` Sean Christopherson
2024-10-10 17:12 ` Mike Galbraith
2024-10-10 8:19 ` Peter Zijlstra
2024-10-10 9:18 ` Peter Zijlstra
2024-10-10 18:23 ` Sean Christopherson
2024-10-12 14:15 ` [tip: sched/urgent] sched: Fix external p->on_rq users tip-bot2 for Peter Zijlstra
2024-10-14 7:28 ` [tip: sched/urgent] sched/fair: " tip-bot2 for Peter Zijlstra
2024-11-01 12:47 ` [PATCH 17/24] sched/fair: Implement delayed dequeue Phil Auld
2024-11-01 12:56 ` Peter Zijlstra
2024-11-01 13:38 ` Phil Auld
2024-11-01 14:26 ` Peter Zijlstra
2024-11-01 14:42 ` Phil Auld
2024-11-01 18:08 ` Mike Galbraith
2024-11-01 20:07 ` Phil Auld
2024-11-02 4:32 ` Mike Galbraith
2024-11-04 13:05 ` Phil Auld
2024-11-05 4:05 ` Mike Galbraith
2024-11-05 4:22 ` K Prateek Nayak
2024-11-05 6:46 ` Mike Galbraith
2024-11-06 3:02 ` K Prateek Nayak
2024-11-05 15:20 ` Phil Auld
2024-11-05 19:05 ` Phil Auld
2024-11-06 2:45 ` Mike Galbraith
2024-11-06 13:53 ` Peter Zijlstra
2024-11-06 14:14 ` Peter Zijlstra
2024-11-06 14:38 ` Peter Zijlstra
2024-11-06 15:22 ` Mike Galbraith
2024-11-07 4:03 ` Mike Galbraith
2024-11-07 9:46 ` Mike Galbraith
2024-11-07 14:02 ` Mike Galbraith
2024-11-07 14:09 ` Peter Zijlstra
2024-11-08 0:24 ` [PATCH] sched/fair: Dequeue sched_delayed tasks when waking to a busy CPU Mike Galbraith
2024-11-08 13:34 ` Phil Auld
2024-11-11 2:46 ` Xuewen Yan
2024-11-11 3:53 ` Mike Galbraith
2024-11-12 7:05 ` Mike Galbraith
2024-11-12 12:41 ` Phil Auld
2024-11-12 14:23 ` Peter Zijlstra
2024-11-12 14:23 ` Mike Galbraith
2024-11-12 15:41 ` Phil Auld
2024-11-12 16:15 ` Mike Galbraith
2024-11-14 11:07 ` Mike Galbraith
2024-11-14 11:28 ` Phil Auld
2024-11-19 11:30 ` Phil Auld
2024-11-19 11:51 ` Mike Galbraith
2024-11-20 18:37 ` Mike Galbraith
2024-11-21 11:56 ` Phil Auld
2024-11-21 12:07 ` Phil Auld
2024-11-21 21:21 ` Phil Auld
2024-11-23 8:44 ` [PATCH V2] " Mike Galbraith
2024-11-26 5:32 ` K Prateek Nayak
2024-11-26 6:30 ` Mike Galbraith
2024-11-26 9:42 ` Mike Galbraith
2024-12-02 19:15 ` Phil Auld
2024-11-27 14:13 ` Mike Galbraith
2024-12-02 16:24 ` Phil Auld
2024-12-02 16:55 ` Mike Galbraith
2024-12-02 19:12 ` Phil Auld
2024-12-09 13:11 ` Phil Auld
2024-12-09 15:06 ` Mike Galbraith
2024-11-06 14:14 ` [PATCH 17/24] sched/fair: Implement delayed dequeue Mike Galbraith
2024-11-06 14:33 ` Peter Zijlstra
2024-11-04 9:28 ` Dietmar Eggemann
2024-11-04 11:55 ` Dietmar Eggemann
2024-11-04 12:50 ` Phil Auld
2024-11-05 9:53 ` Christian Loehle
2024-11-05 15:55 ` Phil Auld
2024-11-08 14:53 ` Dietmar Eggemann
2024-11-08 18:16 ` Phil Auld
2024-11-11 11:29 ` Dietmar Eggemann
2024-07-27 10:27 ` [PATCH 18/24] sched/fair: Implement DELAY_ZERO Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` Peter Zijlstra [this message]
2024-08-13 12:43 ` [PATCH 19/24] sched/eevdf: Fixup PELT vs DELAYED_DEQUEUE Valentin Schneider
2024-08-13 22:18 ` Peter Zijlstra
2024-08-14 7:25 ` Peter Zijlstra
2024-08-14 7:28 ` Peter Zijlstra
2024-08-14 10:23 ` Valentin Schneider
2024-08-14 12:59 ` Vincent Guittot
2024-08-17 23:06 ` Peter Zijlstra
2024-08-19 12:50 ` Vincent Guittot
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 20/24] sched/fair: Avoid re-setting virtual deadline on migrations Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] sched/fair: Avoid re-setting virtual deadline on 'migrations' tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 21/24] sched/eevdf: Allow shorter slices to wakeup-preempt Peter Zijlstra
2024-08-05 12:24 ` Chunxin Zang
2024-08-07 17:54 ` Peter Zijlstra
2024-08-13 10:44 ` Chunxin Zang
2024-08-08 10:15 ` Chen Yu
2024-08-08 10:22 ` Peter Zijlstra
2024-08-08 12:31 ` Chen Yu
2024-08-09 7:35 ` Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 22/24] sched/eevdf: Use sched_attr::sched_runtime to set request/slice suggestion Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-07-27 10:27 ` [PATCH 23/24] sched/eevdf: Propagate min_slice up the cgroup hierarchy Peter Zijlstra
2024-08-18 6:23 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2024-09-29 2:02 ` [PATCH 23/24] " Tianchen Ding
2024-07-27 10:27 ` [RFC PATCH 24/24] sched/time: Introduce CLOCK_THREAD_DVFS_ID Peter Zijlstra
2024-07-28 21:30 ` Thomas Gleixner
2024-07-29 7:53 ` Juri Lelli
2024-08-02 11:29 ` Peter Zijlstra
2024-08-19 11:11 ` Christian Loehle
2024-08-01 12:08 ` [PATCH 00/24] Complete EEVDF Luis Machado
2024-08-14 14:34 ` Vincent Guittot
2024-08-14 16:45 ` Mike Galbraith
2024-08-14 16:59 ` Vincent Guittot
2024-08-14 17:18 ` Mike Galbraith
2024-08-14 17:25 ` Vincent Guittot
2024-08-14 17:35 ` K Prateek Nayak
2024-08-16 15:22 ` Valentin Schneider
2024-08-20 16:43 ` Hongyan Xia
2024-08-21 9:46 ` Hongyan Xia
2024-08-21 16:25 ` Mike Galbraith
2024-08-22 15:55 ` Peter Zijlstra
2024-08-27 9:43 ` Hongyan Xia
2024-08-29 17:02 ` Aleksandr Nogikh
2024-09-10 11:45 ` Sven Schnelle
2024-09-10 12:21 ` Sven Schnelle
2024-09-10 14:07 ` Peter Zijlstra
2024-09-10 14:52 ` Sven Schnelle
2024-11-06 1:07 ` Saravana Kannan
2024-11-06 6:19 ` K Prateek Nayak
2024-11-06 11:09 ` Peter Zijlstra
2024-11-06 12:06 ` Luis Machado
2024-11-08 7:07 ` Saravana Kannan
2024-11-08 23:17 ` Samuel Wu
2024-11-11 4:07 ` K Prateek Nayak
2024-11-26 23:32 ` Saravana Kannan
2024-11-28 10:32 ` [REGRESSION] " Marcel Ziswiler
2024-11-28 10:58 ` Peter Zijlstra
2024-11-28 11:37 ` Marcel Ziswiler
2024-11-29 9:08 ` Peter Zijlstra
2024-12-02 18:46 ` Marcel Ziswiler
2024-12-09 9:49 ` Peter Zijlstra
2024-12-10 16:05 ` Marcel Ziswiler
2024-12-10 16:13 ` Steven Rostedt
2024-12-10 8:45 ` Luis Machado
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240727105030.514088302@infradead.org \
--to=peterz@infradead.org \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=efault@gmx.de \
--cc=juri.lelli@redhat.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=wuyun.abel@bytedance.com \
--cc=youssefesmat@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).