SysadminNews

Linux 7.3: why equal E-core clusters need balancing

On this page
  1. The topology problem
  2. Two decisions, not one queue
  3. What to inspect on a real system

Choosing a powerful core is only part of hybrid scheduling. Linux must also redistribute work between clusters of smaller cores without mistaking an equal-capacity destination for a useless one.

Conceptual equal-capacity E-core clusters: four independent tasks concentrated in one group compared with two per group. Blocks represent task counts, not measured throughput. This redistribution is distinct from promoting a task to a more capable P-core.
Conceptual equal-capacity E-core clusters: four independent tasks concentrated in one group compared with two per group. Blocks represent task counts, not measured throughput. This redistribution is distinct from promoting a task to a more capable P-core. Chart : PeopleAreGeek. Data source.
View full-size image

The topology problem

Ricardo Neri's six-patch series describes partially busy hybrid systems where work fails to spread between small-core clusters. Group classification, misfit accounting and migration checks interact. A task called a misfit may benefit from a bigger CPU, but a small destination cannot offer that extra capacity; this must not block ordinary balancing between equal clusters.

The August 8 tip integration notice documents the equal-capacity migration fix. We also checked the corresponding condition in Linux v7.3-rc2 source: it is present. This is no longer only a submitted idea, although a release candidate is not the final stable release.

Two decisions, not one queue

Our conceptual example has two equally capable E-core clusters sharing resources within each cluster. Four independent runnable tasks are concentrated in the first, while the second is empty. A 2-and-2 placement illustrates spreading the work across both clusters. It is not a measured outcome or a claim that every workload should use that placement.

This second decision differs from moving a demanding task to a P-core. Equal E-core capacity does not make the migration pointless: the destination can offer an idle execution slot and a different shared-resource group. Conversely, a forced affinity mask can prevent migration regardless of the scheduler fix.

What to inspect on a real system

Record the exact kernel build, CPU topology and whether cluster scheduling is configured. Then inspect task affinity, runnable task count, power policy and thermal conditions. A CPU marketing name alone does not establish the topology exposed to Linux.

For a controlled comparison, keep the same workload and settings, record completion time and latency alongside CPU placement, and repeat runs. A busier-looking utilization graph is not itself an improvement. The source series describes developer validation; we have not benchmarked this patch on hardware. The appropriate conclusion is that specific balancing obstacles were corrected, not that Linux 7.3 guarantees faster games or a fixed percentage of extra performance on every hybrid laptop.

Verify asymmetric-capacity cluster fixes against primary series, tip commit and Linux v7.3-rc2 source; avoid generic performance promises.