All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: KVM list <kvm@vger.kernel.org>
Subject: *insane* amount of host_state_reloads for openbsd guest in 0.14
Date: Fri, 11 Mar 2011 15:02:33 +0300	[thread overview]
Message-ID: <4D7A0F59.1060604@msgid.tls.msk.ru> (raw)

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?

Thanks!

/mjt

             reply	other threads:[~2011-03-11 12:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-11 12:02 Michael Tokarev [this message]
2011-03-14 10:00 ` *insane* amount of host_state_reloads for openbsd guest in 0.14 Daniel Bareiro
2011-03-16 19:48 ` Marcelo Tosatti
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=4D7A0F59.1060604@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=kvm@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.