[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46C06D99.2030106@bull.net>
Date: Mon, 13 Aug 2007 16:41:29 +0200
From: Laurent Vivier <Laurent.Vivier@...l.net>
To: Avi Kivity <avi@...ranet.com>
Cc: Christian Borntraeger <borntraeger@...ibm.com>,
kvm-devel@...ts.sourceforge.net,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [kvm-devel] [PATCH 0/2][KVM] guest time accounting
Avi Kivity wrote:
> 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?
In fact, no.
PF_VM is used to know we have entered a virtual CPU (the hypervisor set it, the
scheduler unset it on accounting)
I mean a hook in account_system_time() to call a function arch-dependent to
compute the guest time (and modify the system/user time accordingly) if needed.
If fact what I find annoying in my patch is it adds to guest time and user time
some system time. Perhaps you could have a look to the second patch I sent.
Regards,
Laurent
--
------------- Laurent.Vivier@...l.net --------------
"Software is hard" - Donald Knuth
Download attachment "signature.asc" of type "application/pgp-signature" (190 bytes)
Powered by blists - more mailing lists