From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ze18F-0000Wl-LA for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:27:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ze18E-00053h-JM for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:27:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ze18E-00053S-EZ for qemu-devel@nongnu.org; Mon, 21 Sep 2015 09:27:46 -0400 Date: Mon, 21 Sep 2015 15:27:37 +0200 From: Marc =?UTF-8?B?TWFyw60=?= Message-ID: <20150921152737.3f3a6faa@markmb_rh> In-Reply-To: <1441720402-1778-1-git-send-email-markmb@redhat.com> References: <1441720402-1778-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 v2 0/2] Dynamic module support for block drivers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Fam Zheng , Stefan Hajnoczi , Michael Tokarev , Peter Maydell Ping! Anyone has more comments for the next version? Thanks Marc >On Tue, 8 Sep 2015 15:53:20 +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 | 70 +++++++++++++++++++++ > configure | 2 +- > include/qemu/module.h | 3 + > scripts/modules/module_block.py | 134 > ++++++++++++++++++++++++++++++++++++++++ > util/module.c | 38 ++++-------- 7 files changed, > 227 insertions(+), 31 deletions(-) create mode 100755 > scripts/modules/module_block.py >=20