Bug 720660

Summary: Allow the guest scheduler to reduce load on a cpu that have lots of steal time
Product: Red Hat Enterprise Linux 6 Reporter: Glauber Costa <gcosta>
Component: kernelAssignee: Rik van Riel <riel>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: chayang, juzhang, michen, tburke
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-27 16:37:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 612320    
Bug Blocks:    

Description Glauber Costa 2011-07-12 12:21:09 UTC
When a cpu has lots of steal time, while the other cpus does not, the guest scheduler, not knowing about this fact, will still try to equalize the load in guests cpus.

Upstream now has a patch that includes steal time information in scheduler decisions.

The best and easy way to demonstrate this problem, is by resorting to pinning:
* For N cpus, start N cpu hogs in the host ( The command "yes" in background will do). Pin each process to a different cpu.
* In the guest, with N vcpus, start at least 5 * N cpu hogs.
* Pin each vcpu to a different cpu.
* increase the priority of one of the host cpu hogs
* At this point, the non-patched kernel will still see an equal distribution of processes inside the guest. The patched kernel, will not.

Comment 6 Rik van Riel 2015-01-27 16:37:59 UTC
This is more of a feature enhancement, which we were unsure whether we would need it or not when steal time was introduced in RHEL 6 KVM. We have never seen a customer issue that suggests we need this, so the risk of adding the feature is not worthwhile.