Messages in this thread | | | Subject | Re: [PATCH 1/2] sched/fair: Couple wakee flips with heavy wakers | From | Mike Galbraith <> | Date | Tue, 09 Nov 2021 13:55:24 +0100 |
| |
On Tue, 2021-11-09 at 12:56 +0100, Peter Zijlstra wrote: > > > > @@ -5895,7 +5903,7 @@ static int wake_wide(struct task_struct *p) > > > > if (master < slave) > > swap(master, slave); > > - if (slave < factor || master < slave * factor) > > + if ((slave < factor && master < (factor>>1)*factor) || master < slave * factor) > > return 0; > > return 1; > > } > > has factor. > > Now: > > !(slave < factor || master < slave * factor) > > !(x || y) == !x && !y, gives: > > slave >= factor && master >= slave * factor > > subst lhr in rhs: > > master >= factor * factor > > > your extra term: > > !((slave < factor && master < (factor*factor)/2) || master < slave * factor) > > changes that how? AFAICT it's a nop.
That can happen when twiddling. The thought was to let volume on the right override individual thread decay on the left to a limited extent.
-Mike
| |