Re: [RFC 0/4] KVM in-kernel PM Timer implementation

Anthony Liguori
2010-12-14T19:49:20Z

On 12/14/2010 12:00 PM, David S. Ahern wrote:
>
> On 12/14/10 08:29, Anthony Liguori wrote:
>
>
>>> I recently used to investigate the performance benefit. In a Linux
>>> guest, I was running a program that calls gettimeofday() 'n' times
>>> in a loop (the PM Timer register is read during each call). With
>>> in-kernel PM Timer, I observed a significant reduction of program
>>> execution time.
>>>
>>>
>> I've played with this in the past. Can you post real numbers,
>> preferably, with a real work load?
>>
> 2 years ago I posted relative comparisons of the time sources for older
> RHEL guests:
> http://www.mail-archive.com/kvm@vger.kernel.org/msg07231.html
>

Any time you write a program in userspace that effectively equates to a
single PIO operation that is easy to emulate, it's going to be
remarkably faster to implement that PIO emulation in the kernel than in
userspace because vmexit exit cost dominates the execution path.

But that doesn't tell you what the impact is in real world workloads.
Before we start pushing all device emulation into the kernel, we need to
quantify how often gettimeofday() is really called in real workloads.

Regards,

Anthony Liguori

> What's the relative speed of the in-kernel pmtimer compared to the PIT?
>
> David
>