This "magical" scheduler talk needs to stop. The scheduler does not do "heavy lifting", it has only one job, which is to minimize performance loss. In the case of benchmarks such as CB, GB, Passmark - the scheduler's job is extremely simple: puts the ST test on a big core, puts the MT test on all cores. It doesn't get more basic than that.
Right - i wonder how often this has to be repeated. In your examples above (e.g. synthetic benchmarks) even a non hybrid-aware scheduler would find the optimum schedule, because the solution is so trivial - as you perfectly describe. Even sophisticated performance counters will not give any insights to change the schedule in these cases, because the schedule is already optimal.
The more interesting cases for a hybrid scheduler are the non-trivial cases, where the system is only partially loaded with complex dependencies between threads.
Last edited: