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: Kevin O'Connor
Subject: Re: [Qemu-devel] Why is SeaBIOS used with -kernel?
Date: Fri, 1 Apr 2016 15:44:14 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Fri, Apr 01, 2016 at 08:15:29PM +0100, Richard W.M. Jones wrote:
> On Fri, Apr 01, 2016 at 08:10:48PM +0100, Richard W.M. Jones wrote:
> > On Fri, Apr 01, 2016 at 03:04:15PM -0400, Kevin O'Connor wrote:
> > > 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?

No, because fw_cfg isn't slow with DMA.  It's just one additional
memory transfer of a file that's under a kilobyte.

> Also, disabling CONFIG_BOOTORDER means that CONFIG_BOOT is disabled,
> since CONFIG_BOOTMENU and CONFIG_BOOTSPLASH were also disabled, and
> those are the only other things requiring CONFIG_BOOT.  Could that
> explain it?

Disabling CONFIG_BOOTORDER does not disable CONFIG_BOOT - it only
controls some internal sorting of bootable devices - of which there
are none when CONFIG_DRIVES=n - so I don't see why it would have an
impact.

My understanding of SeaBIOS times is that it is overwhelmingly
dominated by (virtual) hardware accesses.  Specifically, when hardware
is touched it causes a VM-exit which takes time.  That's why debugging
is slow (and why serial debugging is slow) - it's nothing in SeaBIOS
that causes it to be slow, it's purely the number of IO accesses.  The
CONFIG_BOOTORDER option doesn't meaningfully alter the number of IO
accesses, so it's puzzling that it would have an impact on boot time.

Perhaps you could send me the actual seabios .config file of the test
run with and without CONFIG_BOOTORDER.  I'll also try to reproduce
locally.

Thanks,
-Kevin



reply via email to

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