On Wed, 25 Mar 2020 10:16:36 +0100 Gerd Hoffmann <kra...@redhat.com> wrote:
> > > mounted. Decided to use the "i8042: PNP: No PS/2 controller found." > > > line instead for a simple test (just check the kernel log timestamps, > > > three runs each). The ACPI initialization is already done at that > > > point, so it should be useful nevertheless. Here we go: > > > > > > Without acpi: > > > 0.277710 > > > 0.278852 > > > 0.279520 > > > > > > With acpi: > > > 0.283917 > > > 0.284262 > > > 0.284836 > > I wonder what would be difference with hw-reduced acpi > > The kernel does a bunch of reads+writes at boot (roughly 20-30), > mostly timer ports, so probably while initializing the pm_timer > clocksource. Then it stops talking to the acpi hardware, > preferring kvmclock clocksouce I guess. > > So I expect hw-reduced acpi wouldn't make much of a difference. > Actually trying that isn't that high on my priority list. > > There is bigger fish to fry, untangling the hw/i386/acpi-build.c > monster for starters, so building with ACPI=y + PCI=n works ... if you are after reducing start up time it may be better to leave alone acpi-build.c with a bunch of legacy/compat stuff and create microvm specific acpi file, and extract from acpi-build.c only common bits that are necessary to produce tables (i.e. do something similar hw/arm/virt-acpi-build.c) PS: side-note: guest kernel insist on finding PCI where it doesn't exists [ 0.301104] ACPI: bus type PCI registered [ 0.301717] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 [ 0.302180] PCI: Fatal: No config space access function found it's probably the first time x86 generic kernel sees machine without PCI, and it probably could be fixed saving another 10-20ms > > cheers, > Gerd > >