From: Marcelo Tosatti <mtosatti@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: KVM list <kvm@vger.kernel.org>
Subject: Re: *insane* amount of host_state_reloads for openbsd guest in 0.14
Date: Wed, 16 Mar 2011 16:48:11 -0300 [thread overview]
Message-ID: <20110316194811.GB23920@amt.cnet> (raw)
In-Reply-To: <4D7A0F59.1060604@msgid.tls.msk.ru>
On Fri, Mar 11, 2011 at 03:02:33PM +0300, Michael Tokarev wrote:
> I tried Openbsd 4.8 in kvm today and immediately noticed
> that it is running _very_ slow, boot takes several minutes
> to complete to the "login:" prompt. After investigating
> I found that kvm does really insane amount of host_state_reloads.
> Here are typical kvm_stats:
>
> During bootup while checking/mounting filesystems etc:
>
> host_state_reload 13782074 671689
> exits 24071297 45751
> insn_emulation 21707073 45353
> io_exits 6900215 288
> mmio_exits 20057 226
> irq_injections 6533 223
> pf_fixed 9801 176
> mmu_pte_write 17781 111
> irq_exits 6490 20
> fpu_reload 133 1
> halt_exits 422 0
> mmu_cache_miss 333 0
> halt_wakeup 30 0
> mmu_shadow_zapped 358 0
> remote_tlb_flush 3 0
> signal_exits 1 0
>
>
> After booting, idle guest sitting at login: prompt:
>
> host_state_reload 28675531 44171
> exits 25184108 3379
> insn_emulation 22784490 3266
> irq_injections 54139 200
> mmio_exits 52748 122
> mmu_pte_write 41584 100
> halt_exits 22731 99
> irq_exits 9220 12
> io_exits 6912620 9
> fpu_reload 765 1
> pf_fixed 12419 0
> mmu_shadow_zapped 358 0
> mmu_cache_miss 339 0
> halt_wakeup 38 0
> remote_tlb_flush 3 0
> signal_exits 1 0
>
>
> So I played with various options for a bit and found that:
>
> o 0.14 -no-kvm-irqchip gets rid of host_state_reloads, making
> them to be the same (+/-100) as insn_emulations, and speeds
> up guest significantly (and lowers CPU usage on host during
> guest idle time).
>
> o 0.14 -no-kvm makes the guest *faster* than w/o any additional
> options, reducing boot time for about 50% (but increasing host
> CPU usage to maximum)
>
> o 0.12 without any options is the fastest, and it keeps number
> of reloads to be within 3k/sec range during all time. here's
> typical kvm_stats of idle guest with 0.12:
>
> kvm 0.12 and idle guest:
>
> exits 25975600 3329
> insn_emulation 23555272 3229
> host_state_reload 1898575 3117
> irq_injections 13125 200
> mmio_exits 26603 122
> mmu_pte_write 61515 100
> halt_exits 5173 100
> irq_exits 6927 1
> fpu_reload 499 1
> io_exits 7058999 1
> pf_fixed 11902 0
> mmu_shadow_zapped 634 0
> mmu_cache_miss 558 0
> halt_wakeup 166 0
> remote_tlb_flush 2 0
> signal_exits 1 0
>
>
> Again, running on the same AthlonII machine with 2.6.37 host
> kernel, freshly installed openbsd 4.3 32bit guest (with all
> defaults).
>
> FreeBSD does not show this behavour.
>
> What it can be?
Perhaps OpenBSD is accessing the HPET frequently, which is emulated
in userspace. Try disabling it with "-no-hpet".
next prev parent reply other threads:[~2011-03-16 19:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-11 12:02 *insane* amount of host_state_reloads for openbsd guest in 0.14 Michael Tokarev
2011-03-14 10:00 ` Daniel Bareiro
2011-03-16 19:48 ` Marcelo Tosatti [this message]
2011-03-16 19:55 ` Michael Tokarev
2011-03-17 7:24 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110316194811.GB23920@amt.cnet \
--to=mtosatti@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mjt@tls.msk.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox