On 2019/7/12 下午4:58, 王贇 wrote: [snip] > > I see, we should not override the decision of select_idle_sibling(). > > Actually the original design we try to achieve is: > > let wake affine select the target > try find idle sibling of target > if got one > pick it > else if task cling to prev > pick prev > > That is to consider wake affine superior to numa cling. > > But after rethinking maybe this is not necessary, since numa cling is > also some kind of strong wake affine hint, actually maybe even a better > one to filter out the bad cases. > > I'll try change @target instead and give a retest then. We now leave select_idle_sibling() untouched, instead prevent numa swap with task cling to dst, and stop wake affine when curr & prev cpu are on different node and wakee cling to prev. Retesting show a even better results, benchmark like dbench also show 1%~5% improvement, not stable but always improved now :-) Regards, Michael Wang > > Regards, > Michael Wang >