Bug 624579

Summary: QEMU driver doesn't update cgroup setting
Product: Red Hat Enterprise Linux 6 Reporter: Alex Jia <ajia>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: berrange, eblake, llim, tyan, xen-maint
Target Milestone: rcKeywords: RHELNAK
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Guest resource control
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-17 16:56:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alex Jia 2010-08-17 03:40:03 UTC
Description of problem:
Libvirt hasn't  synchronously updated cgroup corresponding item.

Version-Release number of selected component (if applicable):
# uname -r
2.6.32-59.1.el6.x86_64

# rpm -q libvirt
libvirt-0.8.1-23.el6.x86_64

# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.109.el6.x86_64

# rpm -q libcgroup
libcgroup-0.36.1-6.el6.x86_64


How reproducible:
Always

Steps to Reproduce:
1. virsh schedinfo guestname
2. virsh schedinfo guestname --set cpu_shares=2048
3. check /cgroup/cpu/cpu.shares
  
Actual results:
# virsh schedinfo rhel6
Scheduler      : posix
cpu_shares     : 1024

# cgget -n -r cpu.shares libvirt
cpu.shares=1024

# cat /cgroup/cpu/libvirt/cpu.shares 
1024

# virsh schedinfo rhel6 --set cpu_shares=2048
Scheduler      : posix
cpu_shares     : 2048

# cgget -n -r cpu.shares libvirt
cpu.shares=1024

# cat /cgroup/cpu/libvirt/cpu.shares 
1024



Expected results:
Fix it.

Additional info:

Comment 2 RHEL Program Management 2010-08-17 03:58:38 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 3 Daniel Berrangé 2010-08-17 09:42:05 UTC
I'm not able to reproduce this problem. It works as expected on my test system.

Comment 4 Alex Jia 2010-08-17 15:56:23 UTC
(In reply to comment #3)
> I'm not able to reproduce this problem. It works as expected on my test system.

Daniel,
I will retest it on other machine, it may be my environment issue.

Comment 5 Alex Jia 2010-08-17 16:56:13 UTC
Daniel,
I make a mistake when I check value of cpu.shares, I should check like this:
# cat /cgroup/cpu/libvirt/qemu/rhel6/cpu.shares 
2048

And I can only use cgget command to get libvirt group root directory value of cpu.shares:
# cgget -n -r cpu.shares libvirt
cpu.shares=1024

The above value of cpu.shares is equal to the following action, it is not a result we want:
# cat /cgroup/cpu/libvirt/cpu.shares
1024

So it is not a bug.