From: Feng Tang <feng.tang@linux.alibaba.com>
To: Lukas Wunner <lukas@wunner.de>
Cc: rafael@kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
Sathyanarayanan Kuppuswamy
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Liguang Zhang <zhangliguang@linux.alibaba.com>,
Guanghui Feng <guanghuifeng@linux.alibaba.com>,
Markus Elfring <Markus.Elfring@web.de>,
lkp@intel.com, Jonathan Cameron <Jonathan.Cameron@huawei.com>,
ilpo.jarvinen@linux.intel.com, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/4] PCI/portdrv: Add necessary wait for disabling hotplug events
Date: Fri, 28 Feb 2025 17:33:43 +0800 [thread overview]
Message-ID: <Z8GC9xiGAtUnWj-I@U-2FWC9VHC-2323.local> (raw)
In-Reply-To: <Z8FiPOgKFTt8T0ym@wunner.de>
Hi Lukas,
On Fri, Feb 28, 2025 at 08:14:04AM +0100, Lukas Wunner wrote:
> On Fri, Feb 28, 2025 at 02:29:29PM +0800, Feng Tang wrote:
> > On Tue, Feb 25, 2025 at 12:42:04PM +0800, Feng Tang wrote:
> > > > > There might be some misunderstaning here :), I responded in
> > > > > https://lore.kernel.org/lkml/Z6LRAozZm1UfgjqT@U-2FWC9VHC-2323.local/
> > > > > that your suggestion could solve our issue.
> > > >
> > > > Well, could you test it please?
> > >
> > We just tried the patch on the hardware and initial 5.10 kernel, and
> > the problem cannot be reproduced, as the first PCIe hotplug command
> > of disabling CCIE and HPIE was not issued.
>
> Good!
>
> > Should I post a new version patch with your suggestion?
>
> Yes, please.
Will do, thanks
>
> > Also I would like to separate this patch from the patch dealing the
> > nomsi irq storm issue. How do you think?
>
> Makes sense to me.
>
> The problem with the nomsi irq storm is really that if the platform
> (i.e. BIOS) doesn't grant OSPM control of hotplug, OSPM (i.e. the kernel)
> cannot modify hotplug registers because the assumption is that the
> platform controls them.
Yes, very reasonable. I also talked with some firmware engineer, who
shared there is working sample that on some old x86 platform, the
firmware itself is really capable of handling the hotplug stuff when
MSI is disabled.
> If the platform doesn't actually handle
> hotplug, but keeps the interrupts enabled, that's basically a bug
> of the specific platform.
That's what happened in our case :)
> I think the kernel community's stance in such situations is that the
> BIOS vendor should provide an update with a fix. In some cases
> that's not posible because the product is no longer supported,
> or the vendor doesn't care about Linux issues because it only
> supports Windows or macOS. In those cases, we deal with these
> problems with a quirk. E.g. on x86 we often use a DMI quirk to
> recognize affected hardware and the quirk would then disable the
> hotplug interrupts.
I see.
As you dug out the history in https://lore.kernel.org/lkml/Z6RU-681eXl7hcp6@wunner.de/
Our previous debug could go through the OSC check in nomsi case,
only after below patch:
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 84030804a763..e7d9328cba45 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -38,8 +38,7 @@ static int acpi_pci_root_scan_dependent(struct acpi_device *adev)
#define ACPI_PCIE_REQ_SUPPORT (OSC_PCI_EXT_CONFIG_SUPPORT \
| OSC_PCI_ASPM_SUPPORT \
- | OSC_PCI_CLOCK_PM_SUPPORT \
- | OSC_PCI_MSI_SUPPORT)
+ | OSC_PCI_CLOCK_PM_SUPPORT)
Otherwise, the OSC function won't be executed, but kernel will simply
disable PCIe hotplug, which breaks the working sample I mentioned above.
We'd better also include take this change?
Thanks,
Feng
>
> Thanks,
>
> Lukas
next prev parent reply other threads:[~2025-02-28 9:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-24 3:44 [PATCH v3 0/4] PCIe hotplug interrupt related fixes Feng Tang
2025-02-24 3:44 ` [PATCH v3 1/4] PCI: portdrv: pciehp: Move PCIe hotplug command waiting logic to port driver Feng Tang
2025-02-24 15:06 ` Ilpo Järvinen
2025-02-25 8:18 ` Feng Tang
2025-02-24 3:44 ` [PATCH v3 2/4] PCI/portdrv: Add necessary wait for disabling hotplug events Feng Tang
2025-02-24 9:42 ` Markus Elfring
2025-02-24 15:00 ` Ilpo Järvinen
2025-02-25 5:51 ` Feng Tang
2025-02-24 18:12 ` Lukas Wunner
2025-02-25 3:06 ` Feng Tang
2025-02-25 4:01 ` Lukas Wunner
2025-02-25 4:42 ` Feng Tang
2025-02-28 6:29 ` Feng Tang
2025-02-28 7:14 ` Lukas Wunner
2025-02-28 9:33 ` Feng Tang [this message]
2025-02-28 10:01 ` Feng Tang
2025-02-24 3:44 ` [PATCH v3 3/4] PCI/portdrv: Loose the condition check for disabling hotplug interrupts Feng Tang
2025-02-24 9:47 ` Markus Elfring
2025-02-25 4:09 ` Lukas Wunner
2025-02-26 2:54 ` Feng Tang
2025-02-24 3:45 ` [PATCH v3 4/4] PCI: Disable PCIe hotplug interrupts early when msi is disabled Feng Tang
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=Z8GC9xiGAtUnWj-I@U-2FWC9VHC-2323.local \
--to=feng.tang@linux.alibaba.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=Markus.Elfring@web.de \
--cc=bhelgaas@google.com \
--cc=guanghuifeng@linux.alibaba.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lkp@intel.com \
--cc=lukas@wunner.de \
--cc=rafael@kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=zhangliguang@linux.alibaba.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