All of lore.kernel.org
 help / color / mirror / Atom feed
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



  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.