qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/3 v2] virtio: improve virtio devices initializ


From: Gal Hammer
Subject: Re: [Qemu-devel] [PATCH 0/3 v2] virtio: improve virtio devices initialization time
Date: Wed, 17 Jan 2018 11:28:14 +0200

Hi Ray,

On Tue, Jan 16, 2018 at 5:40 PM, Kinsella, Ray <address@hidden> wrote:
> Hi Gal,
>
> Brilliant - will test this in the next day or two.
> Hopefully this will help resolve the issues I reported last summer.
>
> http://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg05268.html

Thanks for the compliment although a little over-tuned. ;-)

I'm not sure my patch will help with your problem of multiple PCI
devices (lots of devices). My patch improves the eventfd registration
path while it seems that the source of your problem is either
limitation enforced by the PCI specifications or by the QEMU's PCI
emulation code.

> Ray K

    Gal.

>
> On 14/01/2018 10:06, Gal Hammer wrote:
>>
>> 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(-)
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]