
On 09/13/2013 08:19 AM, Peter Krempa wrote: s/vicgroup/vircgroup/ in the subject
The function existed in two identical instances in lxc and qemu. Move it to vircgroup.c and simplify it. Refactor the callers too. ---
+++ b/src/util/vircgroup.c @@ -3647,3 +3647,32 @@ virCgroupIsolateMount(virCgroupPtr group ATTRIBUTE_UNUSED, }
#endif /* !VIR_CGROUP_SUPPORTED */ + +/** + * virCgroupSupportsCpuBW(): + * Check whether the host supports CFS bandwidth. + * + * Return true when CFS bandwidth is supported, + * false when CFS bandwidth is not supported. + */ +bool +virCgroupSupportsCpuBW(virCgroupPtr cgroup) +{ + char *path = NULL; + int ret = false; + + if (!cgroup) + return false; + + if (virCgroupPathOfController(cgroup, VIR_CGROUP_CONTROLLER_CPU, + "cpu.cfs_period_us", &path) < 0) {
When cgroups are not compiled in, this function call always results in an error;
+ virResetLastError();
that you will just ignore. Rather than pollute the logs, it may be nicer to put the REAL implementation inside the #if, then provide the #else a version that just silently returns false without spamming the logs. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org