Bug 679698

Summary: bug in libcgroup is preventing cpuset.cpus to be set as anything other than a single CPU, or a single range.
Product: Red Hat Enterprise Linux 6 Reporter: Subin Francis <sfrancis>
Component: libcgroupAssignee: Ivana Varekova <varekova>
Status: CLOSED ERRATA QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.0CC: cww, jeder, jsafrane, kzhang, rpiddapa
Target Milestone: rc   
Target Release: 6.1   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 13:13:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Subin Francis 2011-02-23 09:08:21 UTC
Description of problem:

When cpuset is defined in the format "cpuset.cpus = CPU1,CPU2", cgconfig service fail to start. As per the documentation " http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpuset.html" this should work.

Version-Release number of selected component (if applicable): libcgroup-0.36.1-6.el6.x86_64


How reproducible:

Add the following entries to /etc/cgconfig.conf and restart cgconfig service.
----------
mount {
cpuset = /cgroup/cgmnt;
}

group critical {
cpuset {
cpuset.cpus = 0,2;                  -->any cpu's separated by comma
cpuset.mems = 0;
}
}
----------

 
Actual results:

error at line number 7 at ,:syntax error
Loading configuration file /etc/cgconfig.conf failed
Failed to parse config file 

Expected results:

The service should start without any issues.

Subin

Comment 3 Jan Safranek 2011-02-23 09:24:57 UTC
This is fixed by rebase to libcgroup-0.37 in RHEL 6.1, where double-quotes are allowed with anything inside, incl. comma.

cpuset {
cpuset.cpus = "0,2";
cpuset.mems = 0;
}

I let the bug open so our qa guys can check it.

Comment 9 Mike Gahagan 2011-02-23 21:09:25 UTC
using a cgconfig.conf containing:

mount {
cpuset = /cgroup/cgmnt;
}

group critical {
cpuset {
cpuset.cpus = "0,2";
cpuset.mems = 0;
}
}


[root@amd-dinar-01 etc]# /etc/init.d/cgconfig restart
Stopping cgconfig service: [  OK  ]
Starting cgconfig service: [  OK  ]
[root@amd-dinar-01 etc]# lscgroup
cpuset:/
cpuset:/critical
[root@amd-dinar-01 etc]# grep cgroup /proc/mounts 
cgroup /cgroup/cgmnt cgroup rw,relatime,cpuset 0 0
[root@amd-dinar-01 etc]# cat /cgroup/cgmnt/critical/cpuset.cpus 
0,2

[root@amd-dinar-01 etc]# uname -r
2.6.32-114.0.1.el6.i686
[root@amd-dinar-01 etc]# rpm -q libcgroup
libcgroup-0.37-1.el6.i686

It looks like this one can be verified.

Comment 12 errata-xmlrpc 2011-05-19 13:13:28 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0577.html