SysadminNews

Linux 7.3: why equal-capacity clusters still balance

On this page
  1. The patch series addresses several scheduler decisions
  2. Two migration questions, two different reasons
  3. Redistribution does not certify a speedup

A task can benefit from a different cluster without moving to a more powerful CPU. Linux’s scheduler must distinguish that case from migration intended to solve a capacity mismatch.

Fictional equal-capacity cluster occupancy: two runnable tasks in A and none in B versus one in each. This illustrates a possible balancing motive, not a prediction of actual Linux placement or a measured speedup.
Fictional equal-capacity cluster occupancy: two runnable tasks in A and none in B versus one in each. This illustrates a possible balancing motive, not a prediction of actual Linux placement or a measured speedup. Chart : PeopleAreGeek. Data source.
View full-size image

The patch series addresses several scheduler decisions

Ricardo Neri’s six-patch v6 series covers equal-capacity clusters, misfit-task decisions, sibling preference and actual CPU capacity. The reported testing includes several Intel hybrid generations and ARM64 coverage. It is not a change that can be reduced to “all Intel E-cores always move this way,” nor a published universal percentage gain.

In the Linux 7.3-rc2 implementation, the busiest-queue selection checks whether cluster scheduling is active and the source and destination have equal actual CPU capacity. That case can avoid a capacity-only rejection. The source comments explicitly account for hardware and CPU-frequency pressure in actual capacity.

Two migration questions, two different reasons

The diagram uses two fictional equal-capacity clusters. Two runnable tasks in one and none in the other illustrate an imbalance that redistribution might address. The drawing does not predict which task a real scheduler will move: affinity, topology, other runnable work and scheduling rules remain relevant.

A separate misfit example asks whether the destination has more useful capacity for a task. Moving a task that needs more capacity to another equally constrained CPU does not solve that particular problem. Confusing these motives can make one reasonable guard block another reasonable migration.

Redistribution does not certify a speedup

Moving work can change contention and cache locality at the same time. An evenly populated diagram cannot tell you the net effect on execution time, energy or tail latency. The previous article made the affected workloads sound more predictable than the evidence supported.

To evaluate a system, compare the same workload, affinity and power policy on identified kernels. Record topology and thermal conditions with throughput and latency. A task placement trace can help explain a result, but it is not a replacement for the result itself. The practical change is a more precise scheduler decision; its value for a particular machine requires a workload-specific comparison.

September 8: inspect patch series and Linux 7.3-rc2 implementation; distinguish equal-capacity cluster balancing from misfit migration and avoid unsupported universal performance claims.