qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Why is SeaBIOS used with -kernel?


From: Richard W.M. Jones
Subject: Re: [Qemu-devel] Why is SeaBIOS used with -kernel?
Date: Fri, 1 Apr 2016 20:10:48 +0100
User-agent: Mutt/1.5.20 (2009-12-10)

On Fri, Apr 01, 2016 at 03:04:15PM -0400, Kevin O'Connor wrote:
> On Fri, Apr 01, 2016 at 07:59:02PM +0100, Richard W.M. Jones wrote:
> > On Fri, Apr 01, 2016 at 07:41:31PM +0100, Richard W.M. Jones wrote:
> > > Below are some benchmarks of the other things you mentioned.  These
> > > are complete appliance boot-to-shutdown times [*not* just SeaBIOS].
> > > All debugging has been disabled, and I'm using a slightly different
> > > kernel version, so these runs are not comparable to earlier results I
> > > posted.  All times are the mean of 10 runs.  The ± number is 1
> > > standard deviation from the mean.
> > > 
> > > In my estimation only CONFIG_FW_ROMFILE_LOAD=n seems to make a
> > > measurable difference.
> > > 
> > > ----------------------------------------------------------------------
> > > Ordinary qemu SeaBIOS configuration
> > > Result: 1227.5ms ±7.7ms
> > > 
> > > -bios boot-fast.bin, as per my previous patch
> > > Result: 1113.7ms ±6.4ms
> > > 
> > > Leaving CONFIG_XEN and CONFIG_THREADS at default settings
> > > Result: 1111.2ms ±3.8ms
> > > 
> > > CONFIG_USE_SMM=n
> > > Result: 1116.0ms ±5.0ms
> > > 
> > > CONFIG_FW_ROMFILE_LOAD=n
> > > Result: 1106.6ms ±5.0ms
> > > 
> > > CONFIG_RELOCATE_INIT=n
> > > Result: 1104.7ms ±11.2ms
> > > ----------------------------------------------------------------------
> > 
> > Actually, CONFIG_RELOCATE_INIT=n looks like it is doing something, but
> > the error bars are quite large.
> > 
> > Here's another one that makes a difference:
> > 
> > CONFIG_BOOTORDER=n
> > Result: 1099.5ms ±3.7ms
> 
> Are you sure you had CONFIG_DEBUG_LEVEL=0?

Yes, I'm pretty sure.  I'm using qemu with -bios bios-fast.bin, and
recompiling SeaBIOS under qemu each time (make && make -C roms bios).

The test program is:
https://github.com/libguestfs/libguestfs/commit/96ce2f9afedc6a7ecb2f7781958c3940255f453b

> Otherwise, it doesn't make
> sense that disabling CONFIG_BOOTORDER=n would change the boot time.

Could it be explained by it avoiding slow access to qemu fw_cfg?

> Disabling CONFIG_DEBUG_SERIAL is not enough, because SeaBIOS also
> writes to port 0x402 as an internal debugging mechanism.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v



reply via email to

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