qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3 v2] virtio: improve virtio devices initialization time
@ 2018-01-14 10:06 Gal Hammer
  2018-01-14 10:06 ` [Qemu-devel] [PATCH 1/3] qemu: add a cleanup callback function to EventNotifier Gal Hammer
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Gal Hammer @ 2018-01-14 10:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst, Gal Hammer

A bug was reported about a very slow boot time and a 100% CPU usage of
both Windows and Linux guests when running a VM with multiple
virtio-serial devices (https://bugzilla.redhat.com/1528588).

For example, running a VM with 25 virtio-serial devices, each one with
max_ports=511, could have a boot time of around 30 minutes. With this
patch (and another patch to kvm) the boot time is reduced to
approximately 3 minutes.

The patch wraps all the changes made to the Memory Regions during the
eventfd registrations in a memory regions transaction. I had to add a
cleanup callback function to the EventNotifier struct, so it will be
possible to use a transaction in the shutdown code path as well.

Gal Hammer (3):
  qemu: add a cleanup callback function to EventNotifier
  virtio: postpone the execution of event_notifier_cleanup function
  virtio: improve virtio devices initialization time

 accel/kvm/kvm-all.c           |  4 ++++
 hw/virtio/virtio-bus.c        | 19 +++++++++++--------
 hw/virtio/virtio.c            |  5 +++++
 include/qemu/event_notifier.h |  1 +
 util/event_notifier-posix.c   |  5 ++++-
 util/event_notifier-win32.c   |  2 ++
 6 files changed, 27 insertions(+), 9 deletions(-)

-- 
2.7.5

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-01-23 15:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-14 10:06 [Qemu-devel] [PATCH 0/3 v2] virtio: improve virtio devices initialization time Gal Hammer
2018-01-14 10:06 ` [Qemu-devel] [PATCH 1/3] qemu: add a cleanup callback function to EventNotifier Gal Hammer
2018-01-14 10:06 ` [Qemu-devel] [PATCH 2/3] virtio: postpone the execution of event_notifier_cleanup function Gal Hammer
2018-01-22 11:53   ` Michal Privoznik
2018-01-22 17:35     ` Marc-André Lureau
2018-01-23 15:16       ` Michael S. Tsirkin
2018-01-14 10:06 ` [Qemu-devel] [PATCH 3/3] virtio: improve virtio devices initialization time Gal Hammer
2018-01-16 15:40 ` [Qemu-devel] [PATCH 0/3 v2] " Kinsella, Ray
2018-01-17  9:28   ` Gal Hammer
2018-01-17 10:53     ` Kinsella, Ray

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).