Re: [RFC 00/60] Coscheduling for Linux

From: Jan H. SchÃnherr
Date: Thu Sep 13 2018 - 07:31:54 EST


On 09/13/2018 01:15 AM, Nishanth Aravamudan wrote:
> [...] if I just try to set machine's
> cpu.scheduled to 1, with no other changes (not even changing any child
> cgroup's cpu.scheduled yet), I get the following trace:
>
> [16052.164259] ------------[ cut here ]------------
> [16052.168973] rq->clock_update_flags < RQCF_ACT_SKIP
> [16052.168991] WARNING: CPU: 59 PID: 59533 at kernel/sched/sched.h:1303 assert_clock_updated.isra.82.part.83+0x15/0x18
[snip]

This goes away with the change below (which fixes patch 58/60).

Thanks,
Jan

diff --git a/kernel/sched/cosched.c b/kernel/sched/cosched.c
index a1f0d3a7b02a..a98ea11ba172 100644
--- a/kernel/sched/cosched.c
+++ b/kernel/sched/cosched.c
@@ -588,6 +588,7 @@ static void sdrq_update_root(struct sdrq *sdrq)

/* Get proper locks */
rq_lock_irqsave(rq, &rf);
+ update_rq_clock(rq);

sdrq->is_root = is_root;
if (is_root)