wake_wide mechanism clarification
From: Joel Fernandes
Date: Thu Jun 29 2017 - 20:19:25 EST
Dear Mike,
I wanted your kind help to understand your patch "sched: beef up
wake_wide()"[1] which is a modification to the original patch from
Michael Wang [2].
In particular, I didn't following the following comment:
" to shared cache, we look for a minimum 'flip' frequency of llc_size
in one partner, and a factor of lls_size higher frequency in the
other."
Why are wanting the master's flip frequency to be higher than the
slaves by the factor?
The code here is written as:
if (slave < factor || master < slave * factor)
return 0;
However I think we should just do (with my current and probably wrong
understanding):
if (slave < factor || master < factor)
return 0;
Basically, I didn't follow why we multiply the slave's flips with
llc_size. That makes it sound like the master has to have way more
flips than the slave to return 0 from wake_wide. Could you maybe give
an example to clarify? Thanks a lot for your help,
I am also CC'ing Peter and some ARM folks for the discussion (and also
Jocef who was discuss it with Mike on the mailing list few years ago).
Thanks,
Joel
[1] https://patchwork.kernel.org/patch/6787941/
[2] https://lkml.org/lkml/2013/7/4/20