[RFC PATCH v3 00/10] paravirt CPUs and push task for less vCPU preemption

Shrikanth Hegde sshegde at linux.ibm.com
Thu Oct 23 15:03:59 AEDT 2025


Hi Paolo. Thanks for looking into this series.

On 10/20/25 8:35 PM, Paolo Bonzini wrote:
> On 10/20/25 16:32, Sean Christopherson wrote:
>>   : Till the hint from underlying hypervisor arrives, another idea is to
>>   : approximate the hint from steal time.
> 
> I think this is the first thing to look at.
>

The current code i have does the below: All of this happens in the Guest.
No change in host. (Host is running PowerVM, a non linux hypervisor)

At every 1second (configurable):
1. Low and High steal time thresholds are defined.(configurable)
2. Gathers steam time from all CPUs.
3. If it higher than the High threshold reduce the core(SMT8) usage by 1
4. If it lower than low threshould increase core usage by 1.
5. Avoid ping-pong as much as possible.

Its an initial code to try out if it works with plumbing the push current task framework
given in the series.

  
> Perhaps single_task_running() can be exposed in the x86 steal time data 
> structure, and in fact even in the rseq data for non-VM usecases?  This 
> is not specific to VMs and I'd like the steal time implementation to 
> follow the footsteps of rseq rather than the opposite.
> 
> Paolo
> 

Sorry, I didn't follow. You mean KVM usecases?

I don't know much about rseq(on todo list). Any specific implementation i could
look at done via rseq that you are talking about?



More information about the Linuxppc-dev mailing list