Re: [PATCH v1] sched: steer waking task to empty cfs_rq for betterlatencies

From: Srivatsa Vaddagiri
Date: Tue Apr 24 2012 - 13:35:26 EST


* Peter Zijlstra <peterz@xxxxxxxxxxxxx> [2012-04-24 19:12:27]:

> > The workload I am up against does experience tons of wakeup (after very short
> > (microsecond range) bursts of sleeps) and so am skeptical how the global
> > vruntime would keep up with this kind of workload. I'd be happy to test patches
> > and give feedback!
>
> Thing is, global vruntime might fix that flaw/property you're exploiting
> to get that preemption.

Am curious to see how global vruntime influences task placement (esp. on
wakeup). Going back to the previous example:

N0 N1
(0,1,2,3) (4,5,6,7)

rq.nr_run -> 2 1 1 1 2 2 1 1
/a cfs_rq.nr_run -> 0 0 0 0 0 0 0 1


CPU7 is running a task A0 belonging to "/a". Another task A1 belonging
to "/a" is waking up and its prev_cpu was 7. Currently we let it wake on
cpu7 itself and wait behind A0. With global vruntime, are you saying
that we let A1 wake on cpu7 and it would preempt A0? That would still not be
nice as A0 now incurs some additional latencies?

- vatsa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/