On Mon, Mar 23, 2020 at 06:51:10AM -0400, Michael S. Tsirkin wrote: > On Thu, Mar 19, 2020 at 09:01:04AM +0100, Gerd Hoffmann wrote: > > I know that not supporting ACPI in microvm is intentional. If you still > > don't want ACPI this is perfectly fine, you can use the usual -no-acpi > > switch to toggle ACPI support. > > > > These are the advantages you are going to loose then: > > > > (1) virtio-mmio device discovery without command line hacks (tweaking > > the command line is a problem when not using direct kernel boot). > > (2) Better IO-APIC support, we can use IRQ lines 16-23. > > (3) ACPI power button (aka powerdown request) works. > > (4) machine poweroff (aka S5 state) works. > > What is the cost though? How do boot times compare?
Well, acpi speeds up booting by one second because this delay ... [ 0.275736] i8042: PNP: No PS/2 controller found. [ 0.275736] i8042: Probing ports directly. [ 1.315447] i8042: No controller found ... goes away, at least with standard distro kernels. When building your own you can probably compile out the driver somehow, even though something seems to select SERIO_I8042 so trying to simply flip CONFIG_SERIO_I8042 to 'n' in .config doesn't work. And a runtime switch seems to not be there either ... So that ruined my plan to just time until the root filesystem is 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 So the difference is less than 0.01 seconds on my box. cheers, Gerd