[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