Re: [kvm-devel] [PATCH 0/2][KVM] guest time accounting

From: Avi Kivity
Date: Mon Aug 13 2007 - 12:05:09 EST


Laurent Vivier wrote:
Christian Borntraeger wrote:
Am Freitag, 10. August 2007 schrieb Laurent Vivier:
The aim of these two patches is to measure the CPU time used by a virtual
machine. All comments are welcome... I'm not sure it's the good way to do
that.

I did something similar for or s390guest prototype, that Carsten posted in May. I decided to account guest time to the user process instead of adding a new field to avoid hazzle with old top. As you can read in the patch comment, I personally prefer a new field if we can get one.

My implementation uses a similar mechanism like hard and softirq. So I have an sie_enter an sie_exit and a task_is_in_sie function - like irq_enter and irq_exit. The main difference is based on the fact, that s390 has precise accouting for irq, steal, user and system time, and therefore my patch is based on architecture specifc code using CONFIG_VIRT_CPU_ACCOUNT.

In general my patch has the same idea as your patch, so I am going to review your patch and see if it would fit for s390.

For reference this is the (never posted) old patch for our virtualisation prototype. It wont work with kvm but it gives you the idea what we had in mind on s390.


thank you for your comment.

As virtualization becomes very popular, perhaps we should implement something
which could be used by all linux supported architectures ?
(yes, I know it's non-sense for archs like m68k...)
But my [PATCH 1/2] can be a good start (adding "guest" in cpustat)
As guest accounting is hw dependent, I think we should add a hook in the
accounting functions.

Isn't PF_VM exactly such a hook? All the hypervisor needs to do is to set/unset it correctly?

--
error compiling committee.c: too many arguments to function

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/