Re: performance tuning, problem with paravirtualized clock

Marcelo Tosatti
2008-04-07T15:41:27Z

On Sun, Apr 06, 2008 at 09:56:39PM +0200, Nikola Ciprich wrote:
> Hi,
> I spent some time trying to tune performance of KVM guest using kernel
> compilation as a kind of benchmark (I'm using virtual machines for
> compiling a lot, so it's good benchmark for me in general)
>
> Host machine: 2x quad core XEON E5420 @ 2.50GHz, 4GB RAM, 2.6.24 + kvm-64
> guest configuration: all 8 cores available, 2GB RAM, 2.6.24 or latest GIT
> + kvm-64
>
> some results:
> - compilation in KVM guest is roughly 2x slower than on bare metal.
> - trying various block device backends (ide, scsi, virtio_blk) didn't
> really matter much for my case
> - enabling CONFIG_KVM_GUEST under latest GIT with kvm-64 patch applied
> decreased compile time by about 10%, which is nice!
> - enabling CONFIG_KVM_CLOCK made guest unstable, often unable to finish
> booting at all, disabling acpi made it a bit better, but still quite
> unstable (cpu0 lock-ups, etc)

Can you please provide more details on this? Which kernel version are
you running on the host?

Please try -git (there was a lock inversion problem in the KVM clock
which could cause lock ups).

>
> Is there currently anything more I could do to improve performance? I'm
> wandering what is slowing compilation, if I compare some CPU intensive
> application (ie bzip2), it seems to run in nearly native speed, but kernel
> compilation is much slower even if run from ramdisk, maybe it could be
> improved further by tunning scheduler etc?

You might want to pin each guest VCPU to a physical host CPU and check
if that makes a difference.