Hi,
Weeks ago, I developed my app under ubuntu-11.10 (kernel 3.0) with
lilbvirt-0.9.10. In my code , I used virDomainGetCPUStats to query cpu
usage info of domains, and it worked well.
However, today, I port my code to ubuntu-10.04.4 (kernel 2.6.32) with
libvirt-0.9.10, I find the function virDomainGetCPUStats can't work
and complains "this function is not supported by the connection
driver: virDomainGetCPUStats".
I guess the kernel difference cause this problem because the
libvirt is the same on two operating systems. I wonder what features
of kernel are required to support virDomainGetCPUStats? I thought
cgroup is a prerequisite. The following are .config files of two
kernels.
ubuntu-11.10
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
ubuntu-10.04.4
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_MM_OWNER=y
As you can see, CPUSET and CPUACCT are enabled in both kernels. So
what else features of kernel are required to support
virDomainGetCPUStats?
harvey