On 16/03/2021 18:31, Valentin Schneider wrote: > On 16/03/21 16:49, Dietmar Eggemann wrote: >> On 11/03/2021 13:05, Valentin Schneider wrote: >>> From: Lingutla Chandrasekhar <[email protected]> >>> >>> In load balancing, when balancing group is unable to pull task >>> due to ->cpus_ptr constraints from busy group, then it sets >>> LBF_SOME_PINNED to lb env flags, as a consequence, sgc->imbalance >>> is set for its parent domain level. which makes the group >>> classified as imbalance to get help from another balancing cpu. >>> >>> Consider a 4-CPU big.LITTLE system with CPUs 0-1 as LITTLEs and >> >> Does it have to be a big.LITTLE system? I assume this issue also happens >> on an SMP system. >> > > Aye, though the consequences are "worse" on asym CPU capacity systems.
I can only think of higher group_type 'group_imbalanced' eclipses 'group_misfit_task' here? > >>> CPUs 2-3 as Bigs with below scenario: >>> - CPU0 doing newly_idle balancing >>> - CPU1 running percpu kworker and RT task (small tasks) >> >> What's the role of the small RT task here in the story? >> > > I don't think it matters much here. Chandra already mentioned that this is part of the story, namely to start trying to move task on lb MC CPU1->CPU0 (if (busiest->nr_running > 1)). [...] >> This sentence mentioned per-cpu threads (and so does the patch name) but >> the implementation (only) deals with per-cpu kernel threads. IMHO, it >> would be good to align this. >> > > Tell you what, I'll go for: > 1) how can pcpu kthreads cause LBF_SOME_PINNED > 2) why we may not want this, but still ignore !kthread pcpu tasks > 3) why this is even more important for big.LITTLE LGTM.

