Bug 863264

Summary: Help live migration converge when guest dirties pages too fast
Product: Red Hat Enterprise Virtualization Manager Reporter: Karen Noel <knoel>
Component: vdsmAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: acathrow, bazulay, dyasny, dyuan, eblake, hateya, iheim, knoel, lpeer, lyarwood, mzhan, perfbz, rwu, weizhan, ykaul, zhpeng
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 867453 (view as bug list) Environment:
Last Closed: 2013-06-19 14:14:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 867453    

Description Karen Noel 2012-10-04 21:37:02 UTC
This new feature will help live migration converge when the guest is dirtying pages too fast for the network throughput.

The performance team is using a script like this:

# cat migrated_cgroup.sh
# Enter guest name $1
#
# Try for 120 seconds with 10 percent of 1-cpu
echo 10000 > /cgroup/cpu/libvirt/qemu/$1/vcpu0/cpu.cfs_quota_us
echo 10000 > /cgroup/cpu/libvirt/qemu/$1/vcpu1/cpu.cfs_quota_us
sleep 120
# Try for 2 minutes with 1% of the cpu of 1-cpu
echo 1000 > /cgroup/cpu/libvirt/qemu/$1/vcpu0/cpu.cfs_quota_us
echo 1000 > /cgroup/cpu/libvirt/qemu/$1/vcpu1/cpu.cfs_quota_us
sleep 120
# Increase the period to then reduce to .1% of 1-cpu.
echo 1000000 > /cgroup/cpu/libvirt/qemu/$1/vcpu0/cpu.cfs_period_us
echo 1000000 > /cgroup/cpu/libvirt/qemu/$1/vcpu1/cpu.cfs_period_us
echo 1000 > /cgroup/cpu/libvirt/qemu/$1/vcpu0/cpu.cfs_quota_us
echo 1000 > /cgroup/cpu/libvirt/qemu/$1/vcpu1/cpu.cfs_quota_us

This logic should be refined and put into libvirt so it's automatic for the customer.

Comment 1 Eric Blake 2012-10-04 23:28:03 UTC
Additionally, libvirt should be using the qemu 1.2 feature of XBZRLE migration, if it can determine that both sides of the migration support it (which also means that XBZRLE needs to be backported into RHEL qemu).

Comment 2 Jiri Denemark 2012-10-08 12:15:58 UTC
XBZRLE support is requested by bug 842857

Comment 5 Jiri Denemark 2013-03-27 16:02:05 UTC
Libvirt already supports changing CPU scheduling parameters and I thing doing so automagically goes beyond libvirt's competency. It should be higher-level management (vdsm probably) doing that.

Comment 6 Itamar Heim 2013-06-19 14:14:20 UTC

*** This bug has been marked as a duplicate of bug 867453 ***