Zhihua Che
2012-Mar-28 05:44 UTC
[libvirt-users] [API reference] confused by CPU time term
Hi, everyone I'm writing a virtual machine monitor based on libvirt. As I read the api reference, I found I'm confused by some terms. 1, What is cumulative I/O wait CPU time? API reference says that VIR_NODE_CPU_STATS_IOWAIT indicate cumulative I/O wait CPU time. I'm confused by this time. As far as I know, when cpu meets IO wait situation, it will schedule another task, so, how this IO wait time is accounted? 2, How do I get VCPU runtime? In my mind, VIR_DOMAIN_CPU_STATS_CPUTIME indicates the physical cpu time consumed by the domain. Is there any API by which I can query virtual CPU running stats in one domain?
Osier Yang
2012-Mar-28 09:02 UTC
[libvirt-users] [API reference] confused by CPU time term
On 03/28/2012 01:44 PM, Zhihua Che wrote:> Hi, everyone > I'm writing a virtual machine monitor based on libvirt. As I read > the api reference, I found I'm confused by some terms. > > 1, What is cumulative I/O wait CPU time? > API reference says that VIR_NODE_CPU_STATS_IOWAIT indicate > cumulative I/O wait CPU time. I'm confused by this time. As far as I > know, when cpu meets IO wait situation, it will schedule another task, > so, how this IO wait time is accounted?It's from /proc/stat, see man proc (/proc/stat).> > 2, How do I get VCPU runtime? > In my mind, VIR_DOMAIN_CPU_STATS_CPUTIME indicates the physical > cpu time consumed by the domain. Is there any API by which I can query > virtual CPU running stats in one domain?See virDomainGetVcpus, though it doesn't returns the usertime and systime seperately, only cputime (usertime + systime) for each vCPU thread. Regards, Osier