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?