From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
Sergio Lopez <slp@redhat.com>,
qemu-devel@nongnu.org, Igor Mammedov <imammedo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH v2 00/13] microvm: add acpi support
Date: Wed, 6 May 2020 07:50:33 -0400 [thread overview]
Message-ID: <20200506074939-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200506114635.b5msujuhhbim2kdv@sirius.home.kraxel.org>
On Wed, May 06, 2020 at 01:46:35PM +0200, Gerd Hoffmann wrote:
> On Tue, May 05, 2020 at 10:04:02AM -0400, Michael S. Tsirkin wrote:
> > On Tue, May 05, 2020 at 03:42:52PM +0200, 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.
> >
> > Questions
> >
> > - what's the tradeoff in startup time?
>
> In the noise. 0.28-0.29 seconds on my hardware to the "i8042: PNP: No
> PS/2 controller found" message, no matter whenever acpi is on or off.
> With "quiet" (acpi prints more and logging to the serial console is
> slow).
>
> At that point -no-acpi takes one second to figure the ps2 controller
> really isn't there (as discussed before).
>
> Another interesting difference is interrupt handling.
>
> The -no-acpi version:
>
> CPU0
> 2: 0 XT-PIC cascade
> 4: 284 IO-APIC 4-edge ttyS0
> 8: 0 IO-APIC 8-edge rtc0
> 14: 5399 IO-APIC 14-edge virtio1
> 15: 58 IO-APIC 15-edge virtio0
> NMI: 0 Non-maskable interrupts
> [ ... ]
>
> The acpi version:
>
> CPU0
> 1: 0 IO-APIC 9-edge ACPI:Ged
> 2: 231 IO-APIC 23-fasteoi virtio0
> 3: 6291 IO-APIC 22-fasteoi virtio1
> 4: 1758 IO-APIC 4-edge ttyS0
> 5: 0 IO-APIC 8-edge rtc0
> NMI: 0 Non-maskable interrupts
> [ ... ]
>
> > - what should be the default?
>
> IMO it makes sense to enable it by default. You get working
> power management. You can boot stock cloud images (patched
> seabios parses the dsdt to find virtio-mmio devices to boot
> from virtio-mmio disks).
>
> It's easier to leave behind legacy stuff: The kernel trusts the
> firmware and doesn't go into "trying harder to find ps2 kbd" mode.
> Also what is this "cascade" thing in /proc/interrupts above? [1]
>
> I expect dropping the rtc is easier with acpi too, the kernel probably
> wouldn't try to find it then. Right now seabios needs rtc cmos for
> ram size probing, so I didn't test that yet.
>
> On the other hand I don't really see any disadvantages. The tables are
> small ...
>
> # find /sys/firmware/acpi/tables/ -type f | xargs ls -l
> -r--------. 1 root root 70 May 6 06:48 /sys/firmware/acpi/tables/APIC
> -r--------. 1 root root 472 May 6 06:48 /sys/firmware/acpi/tables/DSDT
> -r--------. 1 root root 268 May 6 06:48 /sys/firmware/acpi/tables/FACP
>
> ... and simple (no methods) so you can hardly call that "bloat".
>
> > Based on above I'd be inclined to say default should stay no acpi and
> > users should enable acpi with an option.
>
> I disagree, but I can live with off by default too. We already have
> acpi=OnOffAuto for X86MachineState, so it is just a matter of handling
> microvm.acpi=auto accordingly in x86_machine_is_acpi_enabled().
>
> take care,
> Gerd
>
> [1] Rhetorical question, I know what it is. [2]
> [2] I don't want remember though.
Let's leave flipping the default as a separate patch, to be
decided on merits after a bunch of people test with/without.
--
MST
next prev parent reply other threads:[~2020-05-06 11:51 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-05 13:42 [PATCH v2 00/13] microvm: add acpi support Gerd Hoffmann
2020-05-05 13:42 ` [PATCH v2 01/13] acpi: make build_madt() more generic Gerd Hoffmann
2020-05-05 13:54 ` Igor Mammedov
2020-05-05 13:42 ` [PATCH v2 02/13] acpi: create acpi-common.c and move madt code Gerd Hoffmann
2020-05-05 14:00 ` Igor Mammedov
2020-05-05 13:42 ` [PATCH v2 03/13] acpi: madt: skip pci override on pci-less systems (microvm) Gerd Hoffmann
2020-05-05 14:10 ` Igor Mammedov
2020-05-05 14:17 ` Philippe Mathieu-Daudé
2020-05-05 13:42 ` [PATCH v2 04/13] acpi: move acpi_build_facs to acpi-common.c Gerd Hoffmann
2020-05-05 13:49 ` Philippe Mathieu-Daudé
2020-05-05 14:16 ` Igor Mammedov
2020-05-05 13:42 ` [PATCH v2 05/13] acpi: move acpi_init_common_fadt_data " Gerd Hoffmann
2020-05-05 14:25 ` Igor Mammedov
2020-05-06 10:03 ` Gerd Hoffmann
2020-05-05 13:42 ` [PATCH v2 06/13] acpi: move acpi_align_size to acpi-common.h Gerd Hoffmann
2020-05-05 13:53 ` Philippe Mathieu-Daudé
2020-05-05 14:30 ` Igor Mammedov
2020-05-05 13:42 ` [PATCH v2 07/13] acpi: fadt: add hw-reduced sleep register support Gerd Hoffmann
2020-05-05 14:35 ` Igor Mammedov
2020-05-05 13:43 ` [PATCH v2 08/13] acpi: generic event device for x86 Gerd Hoffmann
2020-05-05 15:03 ` Igor Mammedov
2020-05-06 10:31 ` Gerd Hoffmann
2020-05-06 12:41 ` Igor Mammedov
2020-05-07 14:03 ` Gerd Hoffmann
2020-05-05 13:43 ` [PATCH v2 09/13] microvm: add minimal acpi support Gerd Hoffmann
2020-05-05 15:20 ` Igor Mammedov
2020-05-06 10:35 ` Gerd Hoffmann
2020-05-06 14:14 ` Igor Mammedov
2020-05-07 13:39 ` Gerd Hoffmann
2020-05-05 13:43 ` [PATCH v2 10/13] microvm: disable virtio-mmio cmdline hack Gerd Hoffmann
2020-05-05 15:22 ` Igor Mammedov
2020-05-05 13:43 ` [PATCH v2 11/13] microvm: add acpi_dsdt_add_virtio() for x86 Gerd Hoffmann
2020-05-06 7:27 ` Sergio Lopez
2020-05-05 13:43 ` [PATCH v2 12/13] microvm: make virtio irq base runtime configurable Gerd Hoffmann
2020-05-06 7:28 ` Sergio Lopez
2020-05-05 13:43 ` [PATCH v2 13/13] microvm/acpi: use GSI 16-23 for virtio Gerd Hoffmann
2020-05-06 7:28 ` Sergio Lopez
2020-05-05 14:04 ` [PATCH v2 00/13] microvm: add acpi support Michael S. Tsirkin
2020-05-05 14:16 ` Philippe Mathieu-Daudé
2020-05-06 7:25 ` Sergio Lopez
2020-05-06 11:46 ` Gerd Hoffmann
2020-05-06 11:50 ` Michael S. Tsirkin [this message]
2020-05-07 13:57 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200506074939-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kraxel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=slp@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).