On 23/07/19 11:47, Stefan Hajnoczi wrote: > fw_cfg could expose this information so guest kernels know when to > stop enumerating the PCI bus. This would make all PCI guests with new > kernels boot ~50 ms faster, regardless of machine type.
The number of buses is determined by the firmware, not by QEMU, so fw_cfg would not be the right interface. In fact (as I have just learnt) lastbus is an x86-specific option that overrides the last bus returned by SeaBIOS's handle_1ab101. So the next step could be to figure out what is the lastbus returned by handle_1ab101 and possibly why it isn't zero. Paolo > The difference between microvm and tuned Q35 is 76 ms now. > > microvm: > qemu_init_end: 64.043264 > linux_start_kernel: 65.481782 (+1.438518) > linux_start_user: 114.938353 (+49.456571) > > Q35 with -cpu host and pci=lasbus=0: > qemu_init_end: 73.711569 > linux_start_kernel: 113.414311 (+39.702742) > linux_start_user: 190.949939 (+77.535628) > > There is a ~39 ms difference before linux_start_kernel. SeaBIOS is > loading the PVH Option ROM. > > Stefano: any recommendations for profiling or tuning SeaBIOS?