From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52939) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhHct-00054T-6M for qemu-devel@nongnu.org; Tue, 06 Sep 2016 10:45:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhHcp-00024R-TH for qemu-devel@nongnu.org; Tue, 06 Sep 2016 10:45:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47006) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhHcp-00024N-ND for qemu-devel@nongnu.org; Tue, 06 Sep 2016 10:45:23 -0400 Date: Tue, 6 Sep 2016 17:45:20 +0300 From: "Michael S. Tsirkin" Message-ID: <20160906174414-mutt-send-email-mst@kernel.org> References: <1472120105-29235-1-git-send-email-chao.p.peng@linux.intel.com> <1473158937.4143.15.camel@linux.intel.com> <5fd6c789-4524-0254-6f18-2ec330acec61@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5fd6c789-4524-0254-6f18-2ec330acec61@redhat.com> Subject: Re: [Qemu-devel] [RFC PATCH v2 00/12] Guest startup time optimization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Chao Peng , qemu-devel@nongnu.org, Haozhong Zhang , Xiao Guangrong , Eduardo Habkost , gor Mammedov , Amnon Ilan , Richard Henderson On Tue, Sep 06, 2016 at 04:21:25PM +0200, Paolo Bonzini wrote: > > > On 06/09/2016 12:48, Chao Peng wrote: > >> As you might expect, I don't agree with removing the > >> firmware. There's > >> room for much more optimization before duplicating firmware code in > >> QEMU. I'd rather see numbers for: > >> > >> 1) qboot optimizations: adopt the fw_cfg DMA interface instead of the > >> cbfs flash hack (so that -kernel works), drop PCI bridge > >> initialization, copy less than 64K of memory from ROM to 0xf0000; > > > > I can do the evaluation on qboot. Also adding Amnon Ilan, to see if > > there is some thing we can do for SeaBios. > > For SeaBIOS we can try dropping PAM and PCI, but not much more. > > I've pushed fw_cfg DMA support and some PAM optimizations to qboot (it > doesn't setup PAM if QEMU doesn't configure 0xf0000-0x100000 as ROM). > I've left it for you to figure out which parts of PCI initialization can > be removed. I think we can expose the plug an play OS flag to guest, upon seeing it, seabios can limit self to only enumerating boot devices. No boot devices -> skip pci init completely. > >> 2) Linux optimizations: using an uncompressed image to avoid the > >> cost of copying and decompressing. QEMU can already load the image > >> at the right place and the real mode stub can do little more than > >> GDT/IDT setup. > > > > This works surely. I actually followed your suggestion in v1 to make > > kernel multiboot-compatible and then load that kernel in QEMU directly > > Please try posting the multiboot patches to the upstream x86 Linux > mailing list. I am very interested in them, because I think it's the > simplest way to compare qboot with direct kernel load. And as you say, > it might make patch 11 a little smaller and possibly more acceptable. > > Paolo