From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60609) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUsuW-0004Zs-5D for qemu-devel@nongnu.org; Thu, 27 Aug 2015 04:51:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUsuQ-0000og-Ky for qemu-devel@nongnu.org; Thu, 27 Aug 2015 04:51:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45261) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUsuQ-0000oO-FH for qemu-devel@nongnu.org; Thu, 27 Aug 2015 04:51:46 -0400 Date: Thu, 27 Aug 2015 10:51:40 +0200 From: Marc =?UTF-8?B?TWFyw60=?= Message-ID: <20150827105140.6f950585@markmb_rh> In-Reply-To: <1439798975-2488-1-git-send-email-markmb@redhat.com> References: <1439798975-2488-1-git-send-email-markmb@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 0/2] Dynamic module support for block drivers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel , Fam Zheng , Paolo , Stefan Hajnoczi , "Daniel P. Berrange" Ping >On Mon, 17 Aug 2015 10:09:33 +0200 >Marc Mar=C3=AD wrote: > > The current module infrastructure has been improved to enable dynamic > module loading. >=20 > This reduces the load time for very simple guests. For the following > configuration (very loaded) >=20 > ./configure --enable-sdl --enable-gtk --enable-vte --enable-curses \ > --enable-vnc --enable-vnc-{jpeg,tls,sasl,png} --enable-virtfs \ > --enable-brlapi --enable-curl --enable-fdt --enable-bluez \ > --enable-kvm --enable-rdma --enable-uuid --enable-vde \ > --enable-linux-aio --enable-cap-ng --enable-attr > --enable-vhost-net \ --enable-vhost-scsi --enable-spice --enable-rbd > --enable-libiscsi \ --enable-smartcard-nss --enable-guest-agent > --enable-libusb \ --enable-usb-redir --enable-lzo --enable-snappy > --enable-bzip2 \ --enable-seccomp --enable-coroutine-pool > --enable-glusterfs \ --enable-tpm --enable-libssh2 --enable-vhdx > --enable-numa \ --enable-tcmalloc --target-list=3Dx86_64-softmmu >=20 > With modules disabled, there are 142 libraries loaded at startup. > Time is the following: > LD time: 0.065 seconds > QEMU time: 0.02 seconds > Total time: 0.085 seconds >=20 > With this patch series and modules enabled, there are 128 libraries > loaded at startup. Time is the following: > LD time: 0.02 seconds > QEMU time: 0.02 seconds > Total time: 0.04 seconds >=20 > Where LD time is the time between the program startup and the jump to > main, and QEMU time is the time between the start of main and the > first kvm_entry. >=20 > These results are just with a few block drivers, that were already a > module. Adding more modules (block or not block) should be easy, and > will reduce the load time even more. >=20 > Marc Mar=C3=AD (2): > Add dynamic module loading for block drivers > Add dynamic generation of module_block.h >=20 > .gitignore | 1 + > Makefile | 10 ++- > block.c | 73 +++++++++++++++++++++- > configure | 2 +- > include/qemu/module.h | 3 + > include/qemu/module_block.h | 89 +++++++++++++++++++++++++++ > scripts/modules/module_block.py | 132 > ++++++++++++++++++++++++++++++++++++++++ > util/module.c | 38 ++++-------- 8 files changed, > 314 insertions(+), 34 deletions(-) create mode 100644 > include/qemu/module_block.h create mode 100755 > scripts/modules/module_block.py >=20