Re: [PATCH 2/3] sched,fair: Fix local starvation

From: Mike Galbraith
Date: Sat May 21 2016 - 10:05:17 EST


On Tue, 2016-05-10 at 19:43 +0200, Peter Zijlstra wrote:

(Evolution authors must either not do patch review, or use some other
mailer. Squint hard, this crud really is your patch;)

> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
>
> @@ -1762,7 +1770,11 @@ void sched_ttwu_pending(void)
> > > while (llist) {
> > > > p = llist_entry(llist, struct task_struct, wake_entry);
> > > > llist = llist_next(llist);
> -> > > ttwu_do_activate(rq, p, 0, cookie);
> +> > > /*
> +> > > * See ttwu_queue(); we only call ttwu_queue_remote() when
> +> > > * its a x-cpu wakeup.
> +> > > */
> +> > > ttwu_do_activate(rq, p, WF_MIGRATED, cookie);

Wakees that were not migrated/normalized eat an unwanted min_vruntime,
and likely take a size XXL latency hit. Big box running master bled
profusely under heavy load until I turned TTWU_QUEUE off.

-Mike