On 11 Oct 2022 10:11:58 -0700 Suren Baghdasaryan <surenb@xxxxxxxxxx> >On Tue, Oct 11, 2022 at 4:38 AM Hillf Danton <hdanton@xxxxxxxx> wrote: >> >> Given activities on remote CPUs, can you specify what prevents psi_avgs_work >> from being scheduled on remote CPUs if for example the local CPU has been >> idle for a second? > > I'm not a scheduler expert but I can imagine some work that finished > running on a big core A and generated some activity since the last > time psi_avgs_work executed. With no other activity the next > psi_avgs_work could be scheduled on a small core B to conserve power. Given core A and B, nothing prevents. > There might be other cases involving cpuset limitation changes or cpu > offlining but I didn't think too hard about these. The bottom line, I > don't think we should be designing mechanisms which rely on > assumptions about how tasks will be scheduled. Even if these The tasks here makes me guess that we are on different pages - scheduling work has little to do with how tasks are scheduled, and is no more than queuing work on the system_wq in the case of psi_avgs_work, > assumptions are correct today they might change in the future and > things will break in unexpected places. with nothing assumed.