From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45941) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YvSi1-0001Zt-1k for qemu-devel@nongnu.org; Thu, 21 May 2015 11:48:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YvShw-0000KI-Qv for qemu-devel@nongnu.org; Thu, 21 May 2015 11:48:32 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:33045) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YvShw-0000K2-LZ for qemu-devel@nongnu.org; Thu, 21 May 2015 11:48:28 -0400 Received: by wicmx19 with SMTP id mx19so17110840wic.0 for ; Thu, 21 May 2015 08:48:26 -0700 (PDT) Message-ID: <555DFE48.4030106@cloudius-systems.com> Date: Thu, 21 May 2015 18:48:24 +0300 From: Avi Kivity MIME-Version: 1.0 References: <555DE2EF.1000509@redhat.com> In-Reply-To: <555DE2EF.1000509@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Announcing qboot, a minimal x86 firmware for QEMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel , KVM list On 05/21/2015 04:51 PM, Paolo Bonzini wrote: > Some of you may have heard about the "Clear Containers" initiative from > Intel, which couple KVM with various kernel tricks to create extremely > lightweight virtual machines. The experimental Clear Containers setup > requires only 18-20 MB to launch a virtual machine, and needs about 60 > ms to boot. > > Now, as all of you probably know, "QEMU is great for running Windows or > legacy Linux guests, but that flexibility comes at a hefty price. Not > only does all of the emulation consume memory, it also requires some > form of low-level firmware in the guest as well. All of this adds quite > a bit to virtual-machine startup times (500 to 700 milliseconds is not > unusual)". > > Right? In fact, it's for this reason that Clear Containers uses kvmtool > instead of QEMU. > > No, wrong! In fact, reporting bad performance is pretty much the same > as throwing down the gauntlet. > > Enter qboot, a minimal x86 firmware that runs on QEMU and, together with > a slimmed-down QEMU configuration, boots a virtual machine in 40 > milliseconds[2] on an Ivy Bridge Core i7 processor. > > qboot is available at git://github.com/bonzini/qboot.git. In all the > glory of its 8KB of code, it brings together various existing open > source components: > > * a minimal (really minimal) 16-bit BIOS runtime based on kvmtool's own BIOS > > * a couple hardware initialization routines written mostly from scratch > but with good help from SeaBIOS source code > > * a minimal 32-bit libc based on kvm-unit-tests > > * the Linux loader from QEMU itself > > The repository has more information on how to achieve fast boot times, > and examples of using qboot. Right now there is a limit of 8 MB for > vmlinuz+initrd+cmdline, which however should be enough for initrd-less > containers. > > The first commit to qboot is more or less 24 hours old, so there is > definitely more work to do, in particular to extract ACPI tables from > QEMU and present them to the guest. This is probably another day of > work or so, and it will enable multiprocessor guests with little or no > impact on the boot times. SMBIOS information is also available from QEMU. > > On the QEMU side, there is no support yet for persistent memory and the > NFIT tables from ACPI 6.0. Once that (and ACPI support) is added, qboot > will automatically start using it. > > Happy hacking! > Lovely! Note you have memcpy.o instead of memcpy.c.