News: 0001660472

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 7.4 To Introduce The Steal Governor For Helping Virtualized Workloads

([Virtualization] 6 Hours Ago Steal Governor)


Now queued up for introduction in the Linux 7.4 merge window later in October is the steal governor driver for preferred CPUs and steal-driven vCPU backoff for today's virtualized world.

This steal governor is the result of work by IBM engineers focused on enhancing the POWER virtual machine performance and has expanded in scope to become this generic steal governor driver and related infrastructure also bringing benefits to the likes of x86_64. The steal governor hopes to better handle CPU contention in the cases of over-committed virtual machines on today's high core count servers.

The steal governor tracks the steal time as the amount of time a vCPU is waiting for physical CPU resources due to serving other VMs. Based on the steal time, the preferred CPU mask is dynamically adjusted and the scheduler tries to avoid placing tasks on over-committed CPUs or otherwise cores that are heavily contended.

Shrikanth Hegde of IBM wrote in today's [1]v14 patch series about this steal governor work:

"This patch series represents the result of multiple iterations, redesigns and community feedback. What started as an arch-specific RFC has evolved into a scheduler mechanism paired with a virtualization driver.

This feature is intended for workloads where vCPU preemption has costs beyond the lost CPU time, such as lock-holder preemption, critical sections and TLB/cache misses. Database workloads, for example, contain a mixture of OLTP/OLAP activity and are prone to these costs. Reducing vCPU preemption in these cases can help improve overall system throughput. It may regress slightly for pure CPU-time workloads."

These patches as of this morning have been queued into [2]tip/tip.git's sched/core branch . With the steal governor code now part of that TIP branch, it's expected to be submitted for the Linux 7.4 merge window when it opens in a few weeks.

Benchmarks done by the steal governor developers show on a PowerPC server that enabling the steal governor improved their Kernbench performance up to 14%, the Hackbench scheduler benchmark saw gains as high as 44% faster,and the Daytrader benchmark wound up as much as 1.53x the baseline performance. The Phoronix Memcached benchmark came out to 1.2x the performance as shown in the patch series.



[1] https://lore.kernel.org/all/20260928053728.797539-1-sshegde@linux.ibm.com/

[2] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=sched/core



My central memory of that time seems to hang on one or five or maybe forty
nights -- or very early mornings -- when I left the Fillmore half-crazy and,
instead of going home, aimed the big 650 Lightning across the Bay Bridge at
a hundred miles an hour ... booming through the Treasure Island tunnel at
the lights of Oakland and Berkeley and Richmond, not quite sure which
turnoff to take when I got to the other end ... but being absolutely certain
that no matter which way I went I would come to a place where people were
just as high and wild as I was: no doubt at all about that.
-- Hunter S. Thompson