All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Julia Suvorova <jusual@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
	qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [PATCH v5 0/7] Use ACPI PCI hot-plug for Q35
Date: Thu, 17 Jun 2021 17:02:58 -0400	[thread overview]
Message-ID: <20210617165654-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20210617190739.3673064-1-jusual@redhat.com>

On Thu, Jun 17, 2021 at 09:07:32PM +0200, Julia Suvorova wrote:
> The patch set consists of two parts:
> patches 1-4: introduce new feature
>              'acpi-pci-hotplug-with-bridge-support' on Q35
> patches 5-7: make the feature default along with changes in ACPI tables
> 
> With the feature disabled Q35 falls back to the native hot-plug.
> 
> Pros
>     * no racy behavior during boot (see 110c477c2ed)
>     * eject is possible - according to PCIe spec, attention button
>       press should lead to power off, and then the adapter should be
>       removed manually. As there is no power down state exists in QEMU,
>       we cannot distinguish between an eject and a power down
>       request.
>     * no delay during deleting - after the actual power off software
>       must wait at least 1 second before indicating about it. This case
>       is quite important for users, it even has its own bug:
>           https://bugzilla.redhat.com/show_bug.cgi?id=1594168
>     * no timer-based behavior - in addition to the previous example,
>       the attention button has a 5-second waiting period, during which
>       the operation can be canceled with a second press. While this
>       looks fine for manual button control, automation will result in
>       the need to queue or drop events, and the software receiving
>       events in all sort of unspecified combinations of attention/power
>       indicator states, which is racy and uppredictable.
>     * fixes or reduces the likelihood of the bugs:
>         * https://bugzilla.redhat.com/show_bug.cgi?id=1833187
>         * https://bugzilla.redhat.com/show_bug.cgi?id=1657077
>         * https://bugzilla.redhat.com/show_bug.cgi?id=1669931
>         * https://bugzilla.redhat.com/show_bug.cgi?id=1678290
> 
> Cons:
>     * no access to possible features presented in slot capabilities
>       (this is only surprise removal AFAIK)


This all looks quite nice to me.
Let's give people a bit of time for review, then I'll merge.

> v5:
>     * make sugar property on TYPE_PCIE_SLOT
>       instead of old TYPE_MACHINE property [Igor]
>     * minor style changes
> v4:
>     * regain per-port control over hot-plug
>     * rebased over acpi-index changes
>     * set property on machine type to
>       make pci code more generic [Igor, Michael]
> 
> v3:
>     * drop change of _OSC to allow SHPC on hotplugged bridges
>     * use 'acpi-root-pci-hotplug'
>     * add migration states [Igor]
>     * minor style changes
> 
> v2:
>     * new ioport range for acpiphp [Gerd]
>     * drop find_pci_host() [Igor]
>     * explain magic numbers in _OSC [Igor]
>     * drop build_q35_pci_hotplug() wrapper [Igor]
> 
> Julia Suvorova (7):
>   hw/acpi/pcihp: Enhance acpi_pcihp_disable_root_bus() to support Q35
>   hw/i386/acpi-build: Add ACPI PCI hot-plug methods to Q35
>   hw/acpi/ich9: Enable ACPI PCI hot-plug
>   hw/pci/pcie: Do not set HPC flag if acpihp is used
>   bios-tables-test: Allow changes in DSDT ACPI tables
>   hw/acpi/ich9: Set ACPI PCI hot-plug as default on Q35
>   bios-tables-test: Update golden binaries
> 
>  hw/i386/acpi-build.h              |   5 +++
>  include/hw/acpi/ich9.h            |   5 +++
>  include/hw/acpi/pcihp.h           |   3 +-
>  include/hw/pci/pcie_port.h        |   5 ++-
>  hw/acpi/ich9.c                    |  67 ++++++++++++++++++++++++++++++
>  hw/acpi/pcihp.c                   |  22 +++++++---
>  hw/acpi/piix4.c                   |   4 +-
>  hw/core/machine.c                 |   1 -
>  hw/i386/acpi-build.c              |  32 ++++++++------
>  hw/i386/pc.c                      |   1 +
>  hw/i386/pc_q35.c                  |  11 +++++
>  hw/pci/pcie.c                     |   8 +++-
>  hw/pci/pcie_port.c                |   1 +
>  tests/data/acpi/q35/DSDT          | Bin 7859 -> 8289 bytes
>  tests/data/acpi/q35/DSDT.acpihmat | Bin 9184 -> 9614 bytes
>  tests/data/acpi/q35/DSDT.bridge   | Bin 7877 -> 11003 bytes
>  tests/data/acpi/q35/DSDT.cphp     | Bin 8323 -> 8753 bytes
>  tests/data/acpi/q35/DSDT.dimmpxm  | Bin 9513 -> 9943 bytes
>  tests/data/acpi/q35/DSDT.ipmibt   | Bin 7934 -> 8364 bytes
>  tests/data/acpi/q35/DSDT.memhp    | Bin 9218 -> 9648 bytes
>  tests/data/acpi/q35/DSDT.mmio64   | Bin 8990 -> 9419 bytes
>  tests/data/acpi/q35/DSDT.nohpet   | Bin 7717 -> 8147 bytes
>  tests/data/acpi/q35/DSDT.numamem  | Bin 7865 -> 8295 bytes
>  tests/data/acpi/q35/DSDT.tis      | Bin 8465 -> 8894 bytes
>  24 files changed, 143 insertions(+), 22 deletions(-)
> 
> -- 
> 2.30.2



  parent reply	other threads:[~2021-06-17 21:04 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-17 19:07 [PATCH v5 0/7] Use ACPI PCI hot-plug for Q35 Julia Suvorova
2021-06-17 19:07 ` [PATCH v5 1/7] hw/acpi/pcihp: Enhance acpi_pcihp_disable_root_bus() to support Q35 Julia Suvorova
2021-06-23 10:26   ` Marcel Apfelbaum
2021-07-01  4:17   ` David Gibson
2021-07-03  6:19   ` Michael S. Tsirkin
2021-07-03  7:11   ` Michael S. Tsirkin
2021-06-17 19:07 ` [PATCH v5 2/7] hw/i386/acpi-build: Add ACPI PCI hot-plug methods to Q35 Julia Suvorova
2021-06-23 10:39   ` Marcel Apfelbaum
2021-07-01  4:36   ` David Gibson
2021-07-02 14:35     ` Michael S. Tsirkin
2021-06-17 19:07 ` [PATCH v5 3/7] hw/acpi/ich9: Enable ACPI PCI hot-plug Julia Suvorova
2021-06-23 10:46   ` Marcel Apfelbaum
2021-07-01  4:46   ` David Gibson
2021-07-02 14:36     ` Michael S. Tsirkin
2021-07-02 14:55     ` Julia Suvorova
2021-07-02 15:34       ` Michael S. Tsirkin
2021-07-03  2:51       ` David Gibson
2021-06-17 19:07 ` [PATCH v5 4/7] hw/pci/pcie: Do not set HPC flag if acpihp is used Julia Suvorova
2021-06-17 21:02   ` Michael S. Tsirkin
2021-06-23 11:02     ` Marcel Apfelbaum
2021-06-18 11:54   ` Igor Mammedov
2021-06-18 12:39     ` Michael S. Tsirkin
2021-07-01  4:50   ` David Gibson
2021-06-17 19:07 ` [PATCH v5 5/7] bios-tables-test: Allow changes in DSDT ACPI tables Julia Suvorova
2021-06-23 11:03   ` Marcel Apfelbaum
2021-06-17 19:07 ` [PATCH v5 6/7] hw/acpi/ich9: Set ACPI PCI hot-plug as default on Q35 Julia Suvorova
2021-06-23 11:13   ` Marcel Apfelbaum
2021-06-17 19:07 ` [PATCH v5 7/7] bios-tables-test: Update golden binaries Julia Suvorova
2021-07-01  4:54   ` David Gibson
2021-07-01  8:36     ` Igor Mammedov
2021-06-17 21:02 ` Michael S. Tsirkin [this message]
2021-06-23 14:47 ` [PATCH] hw/pci/pcie_port: Rename "enable-native-hotplug" property Julia Suvorova
2021-06-24  6:31   ` Igor Mammedov
2021-06-24 12:29   ` Marcel Apfelbaum
2021-07-01  4:55   ` David Gibson
2021-07-03 16:45 ` [PATCH v5 0/7] Use ACPI PCI hot-plug for Q35 Michael S. Tsirkin
2021-07-06 13:30 ` Marcel Apfelbaum

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=20210617165654-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=jusual@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.