On Mon, Mar 22, 2021 at 04:12:17PM +0800, Li, Aubrey wrote:

> > But suppose there is an imbalance; then this cookie crud can forever
> > stall balance.
> > 
> > Imagine this cpu running a while(1); with a uniqie cookie on, then it
> > will _never_ accept other tasks == BAD.
> > 
> 
> How about putting the following check in sched_core_cookie_match()?
> 
> +     /*
> +      * Ignore cookie match if there is a big imbalance between the src rq
> +      * and dst rq.
> +      */
> +     if ((src_rq->cfs.h_nr_running - rq->cfs.h_nr_running) > 1)
> +             return true;

That's just tinkering... cookie matching should not also look at
imbalance of any kind.

> Do you have any suggestions before we drop it?

Yeah, how about you make it part of task_hot() ? Have task_hot() refuse
migration it the cookie doesn't match.

task_hot() is a hint and will get ignored when appropriate.

Reply via email to