Re: [PATCH v8 2/3] sched/fair: update scale invariance of PELT

From: Dietmar Eggemann
Date: Wed Jan 23 2019 - 06:19:54 EST


On 1/23/19 10:48 AM, Vincent Guittot wrote:
On Wed, 23 Jan 2019 at 09:26, Dietmar Eggemann <dietmar.eggemann@xxxxxxx> wrote:

On 1/16/19 10:43 AM, Vincent Guittot wrote:

[...]

+static inline u64 rq_clock_pelt(struct rq *rq)
+{

Doesn't this function need

lockdep_assert_held(&rq->lock);
assert_clock_updated(rq);

originally, it was replacing cfs_rq_clock_task which doesn't have this
debugging code.
But it also replaces rq_clock_task for deadline and rt so it's
probably worthing adding them for such case

I think so. Moreover, cfs_rq_clock_pelt() uses rq_clock_pelt(). Like cfs_rq_clock_task(), which was replaced by cfs_rq_clock_pelt() in fair.c, uses rq_clock_task().

like rq_clock() and rq_clock_task()? Later to support commit
cb42c9a3ebbb "sched/core: Add debugging code to catch missing
update_rq_clock() calls".

+ return rq->clock_pelt - rq->lost_idle_time;
+}

[...]