On Fri, Apr 01, 2016 at 11:35:40AM -0400, Kevin O'Connor wrote:
> > +# general stuff
> > +CONFIG_QEMU=y
> > +CONFIG_ROM_SIZE=128
> 
> Why force a size of 128K - I would think 64K would be fine.

Agreed.  Setting this to =0 seems the best thing, and it does fit fine
inside 64K.

> > +# no input, no boot menu
> > +CONFIG_MOUSE=n
> > +CONFIG_KEYBOARD=n
> [...]
> > +CONFIG_DRIVES=n
> 
> I would not recommended disabling CONFIG_MOUSE, CONFIG_KEYBOARD,
> CONFIG_DRIVES - I only had those in my config so as to avoid having to
> specify all the device drivers.  Ideally these would remain on and the
> individual device drivers would be disabled.

We are always use this in a virtual appliance.  Interaction with the
user is both impossible and undesirable.  It either boots or not, and
the whole appliance is discarded in seconds.  We're always using
-kernel with this SeaBIOS build, so probing drives is never needed.

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
----------------------------------------------------------------------

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

Reply via email to