From: Bjorn Helgaas <helgaas@kernel.org>
To: Igor Mammedov <imammedo@redhat.com>
Cc: linux-kernel@vger.kernel.org,
Dongli Zhang <dongli.zhang@oracle.com>,
linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
mst@redhat.com, rafael@kernel.org, lenb@kernel.org,
bhelgaas@google.com, mika.westerberg@linux.intel.com,
boris.ostrovsky@oracle.com, joe.jin@oracle.com,
stable@vger.kernel.org, Fiona Ebner <f.ebner@proxmox.com>,
Thomas Lamprecht <t.lamprecht@proxmox.com>
Subject: Re: [RFC 0/2] PCI: acpiphp: workaround race between hotplug and SCSI_SCAN_ASYNC job
Date: Wed, 13 Dec 2023 12:11:15 -0600 [thread overview]
Message-ID: <20231213181115.GA1050010@bhelgaas> (raw)
In-Reply-To: <20231213003614.1648343-1-imammedo@redhat.com>
On Wed, Dec 13, 2023 at 01:36:12AM +0100, Igor Mammedov wrote:
> Hacks to mask a race between HBA scan job and bridge re-configuration(s)
> during hotplug.
>
> I don't like it a bit but it something that could be done quickly
> and solves problems that were reported.
I agree, I don't like it either. Adding a 1s delay doesn't address
the real problem, and putting in a band-aid like this means the real
problem would likely never be addressed.
At this point the best option I see is to revert these:
cc22522fd55e2 ("PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus")
40613da52b13f ("PCI: acpiphp: Reassign resources on bridge if necessary")
I hate the fact that reverting them would mean the root bus hotplug
and ACPI bus check notifications would become issues again.
But keeping these commits even though they add a new different problem
that breaks things for somebody else seems worse to me.
Bjorn
> Other options to discuss/possibly more invasive:
> 1: make sure pci_assign_unassigned_bridge_resources() doesn't reconfigure
> bridge if it's not necessary.
> 2. make SCSI_SCAN_ASYNC job wait till hotplug is finished for all slots on
> the bridge or somehow restart the job if it fails
> 3. any other ideas?
>
>
> 1st reported: https://lore.kernel.org/r/9eb669c0-d8f2-431d-a700-6da13053ae54@proxmox.com
>
> CC: Dongli Zhang <dongli.zhang@oracle.com>
> CC: linux-acpi@vger.kernel.org
> CC: linux-pci@vger.kernel.org
> CC: imammedo@redhat.com
> CC: mst@redhat.com
> CC: rafael@kernel.org
> CC: lenb@kernel.org
> CC: bhelgaas@google.com
> CC: mika.westerberg@linux.intel.com
> CC: boris.ostrovsky@oracle.com
> CC: joe.jin@oracle.com
> CC: stable@vger.kernel.org
> CC: linux-kernel@vger.kernel.org
> CC: Fiona Ebner <f.ebner@proxmox.com>
> CC: Thomas Lamprecht <t.lamprecht@proxmox.com>
>
> Igor Mammedov (2):
> PCI: acpiphp: enable slot only if it hasn't been enabled already
> PCI: acpiphp: slowdown hotplug if hotplugging multiple devices at a
> time
>
> drivers/pci/hotplug/acpiphp_glue.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> --
> 2.39.3
>
next prev parent reply other threads:[~2023-12-13 18:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-13 0:36 [RFC 0/2] PCI: acpiphp: workaround race between hotplug and SCSI_SCAN_ASYNC job Igor Mammedov
2023-12-13 0:36 ` [RFC 1/2] PCI: acpiphp: enable slot only if it hasn't been enabled already Igor Mammedov
2023-12-13 0:37 ` kernel test robot
2023-12-13 9:47 ` Fiona Ebner
2023-12-13 10:07 ` Igor Mammedov
2023-12-13 13:01 ` Rafael J. Wysocki
2023-12-13 16:06 ` Igor Mammedov
2023-12-13 0:36 ` [RFC 2/2] PCI: acpiphp: slowdown hotplug if hotplugging multiple devices at a time Igor Mammedov
2023-12-13 7:26 ` Greg KH
2023-12-13 8:13 ` Dongli Zhang
2023-12-13 10:05 ` Igor Mammedov
2023-12-13 17:25 ` Dongli Zhang
2023-12-13 9:47 ` Fiona Ebner
2023-12-13 13:07 ` Rafael J. Wysocki
2023-12-13 16:49 ` Igor Mammedov
2023-12-13 16:54 ` Michael S. Tsirkin
2023-12-13 17:09 ` Dongli Zhang
2024-01-03 9:54 ` Igor Mammedov
2024-01-03 16:19 ` Dongli Zhang
2023-12-13 18:50 ` Igor Mammedov
2023-12-13 8:12 ` [RFC 0/2] PCI: acpiphp: workaround race between hotplug and SCSI_SCAN_ASYNC job Dongli Zhang
2023-12-13 18:11 ` Bjorn Helgaas [this message]
2023-12-13 18:12 ` Rafael J. Wysocki
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=20231213181115.GA1050010@bhelgaas \
--to=helgaas@kernel.org \
--cc=bhelgaas@google.com \
--cc=boris.ostrovsky@oracle.com \
--cc=dongli.zhang@oracle.com \
--cc=f.ebner@proxmox.com \
--cc=imammedo@redhat.com \
--cc=joe.jin@oracle.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=mst@redhat.com \
--cc=rafael@kernel.org \
--cc=stable@vger.kernel.org \
--cc=t.lamprecht@proxmox.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.