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: Mon, 21 Mar 2016 08:37:39 +0000
User-agent: Mutt/1.5.20 (2009-12-10)

On Mon, Mar 21, 2016 at 08:58:27AM +0100, Gerd Hoffmann wrote:
> On Sa, 2016-03-19 at 20:31 +0000, Richard W.M. Jones wrote:
> > I've been analyzing the libguestfs appliance[1] boot time.  See
> > attached file, especially the end of it.
> > 
> > About 50% of the boot time is because of SeaBIOS.
> 
> And the bulk of that is loading the kernel from fw_cfg.

Yes after further investigation that is correct.  It looks like
fw_cfg has grown a DMA interface, but it's not used on x86.

There is still a considerable amount of SeaBIOS overhead.  In
particular, it scans the whole of the PCI bus looking for boot
devices, but that work is both slow and completely unnecessary if
we're using the linuxbios option ROM to boot.

> > I'm using the qemu -kernel option.  I understand that the kernel needs
> > some BIOS features, eg. video stuff, E820.  But kvmtool comes with a
> > really minimal BIOS that implements a tiny number of calls[2] and is
> > far faster than SeaBIOS.
> > 
> > Is there something I'm missing, or for Linux + -kernel could we use a
> > much simpler BIOS?
> 
> marc (cc'ed) worked on porting the linuxboot option rom over to use the
> new fwcfg dma interface, which should make things a order of magnitude
> faster.  That seems to be stalled though.  Marc?

To Marc: Are there patches you can point me to?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/



reply via email to

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