[PATCH v5 0/3] PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery

Niklas Schnelle posted 3 patches 1 month, 4 weeks ago
arch/powerpc/kernel/eeh_driver.c | 2 +-
arch/s390/pci/pci_event.c        | 3 +++
drivers/pci/pci-driver.c         | 3 ++-
include/linux/pci.h              | 2 +-
4 files changed, 7 insertions(+), 3 deletions(-)
[PATCH v5 0/3] PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
Posted by Niklas Schnelle 1 month, 4 weeks ago
Hi Bjorn, Lukas, Mahesh,

This series adds issuing of uevents during PCI recovery on s390. In
developing this I noticed that pci_uevent_ers() ignores
PCI_ERS_RESULT_NEED_RESET. I think this will result in AER not generating a uevent
at the beginning of recovery if drivers request a reset via the voting
on error_detected() returns. This is fixed in the first patch and relied
upon by the s390 recovery code as it also uses the result of
error_detected() though with one device/driver at a time.

Thanks,
Niklas

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
Changes in v5:
- Add R-b from Lukas Wunner for EEH
- Improve commit message for EEH (Lukas Wunner)
- Move the EEH patch to the end so the reference to s390 relies on the
  as is and not future state ;)
- Link to v4: https://lore.kernel.org/r/20250807-add_err_uevents-v4-0-c624bfd8638d@linux.ibm.com

Changes in v4:
- Add change in EEH to use the return of error_detected() in the uevent
  just like AER and the new s390 code
- Add R-b from Lukas
- Link to v3: https://lore.kernel.org/r/20250730-add_err_uevents-v3-0-540b158c070f@linux.ibm.com

Changes in v3:
- Reworded cover letter
- Rebase on v6.16
- Link to v2: https://lore.kernel.org/r/20250623-add_err_uevents-v2-0-a3a2cf8e711d@linux.ibm.com

Changes in v2:
- Add a patch fixing pci_uevent_ers() mistakenly ignoring PCI_ERS_RESULT_NEED_RESET
- Use the result of error_detected() for initial pci_uevent_ers()
- Drop fixes tag in s390 patch
- Rebase and re-test on current master
- Link to v1: https://lore.kernel.org/r/20250424-add_err_uevents-v1-1-3384d6b779c6@linux.ibm.com

---
Niklas Schnelle (3):
      PCI/AER: Fix missing uevent on recovery when a reset is requested
      PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
      powerpc/eeh: Use result of error_detected() in uevent

 arch/powerpc/kernel/eeh_driver.c | 2 +-
 arch/s390/pci/pci_event.c        | 3 +++
 drivers/pci/pci-driver.c         | 3 ++-
 include/linux/pci.h              | 2 +-
 4 files changed, 7 insertions(+), 3 deletions(-)
---
base-commit: 038d61fd642278bab63ee8ef722c50d10ab01e8f
change-id: 20250417-add_err_uevents-6f8d4d7ce09c

Best regards,
-- 
Niklas Schnelle
Re: [PATCH v5 0/3] PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
Posted by Bjorn Helgaas 1 month, 3 weeks ago
On Thu, Aug 07, 2025 at 03:55:37PM +0200, Niklas Schnelle wrote:
> Hi Bjorn, Lukas, Mahesh,
> 
> This series adds issuing of uevents during PCI recovery on s390. In
> developing this I noticed that pci_uevent_ers() ignores
> PCI_ERS_RESULT_NEED_RESET. I think this will result in AER not generating a uevent
> at the beginning of recovery if drivers request a reset via the voting
> on error_detected() returns. This is fixed in the first patch and relied
> upon by the s390 recovery code as it also uses the result of
> error_detected() though with one device/driver at a time.
> 
> Thanks,
> Niklas
> 
> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
> ---
> Changes in v5:
> - Add R-b from Lukas Wunner for EEH
> - Improve commit message for EEH (Lukas Wunner)
> - Move the EEH patch to the end so the reference to s390 relies on the
>   as is and not future state ;)
> - Link to v4: https://lore.kernel.org/r/20250807-add_err_uevents-v4-0-c624bfd8638d@linux.ibm.com
> 
> Changes in v4:
> - Add change in EEH to use the return of error_detected() in the uevent
>   just like AER and the new s390 code
> - Add R-b from Lukas
> - Link to v3: https://lore.kernel.org/r/20250730-add_err_uevents-v3-0-540b158c070f@linux.ibm.com
> 
> Changes in v3:
> - Reworded cover letter
> - Rebase on v6.16
> - Link to v2: https://lore.kernel.org/r/20250623-add_err_uevents-v2-0-a3a2cf8e711d@linux.ibm.com
> 
> Changes in v2:
> - Add a patch fixing pci_uevent_ers() mistakenly ignoring PCI_ERS_RESULT_NEED_RESET
> - Use the result of error_detected() for initial pci_uevent_ers()
> - Drop fixes tag in s390 patch
> - Rebase and re-test on current master
> - Link to v1: https://lore.kernel.org/r/20250424-add_err_uevents-v1-1-3384d6b779c6@linux.ibm.com
> 
> ---
> Niklas Schnelle (3):
>       PCI/AER: Fix missing uevent on recovery when a reset is requested
>       PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
>       powerpc/eeh: Use result of error_detected() in uevent
> 
>  arch/powerpc/kernel/eeh_driver.c | 2 +-
>  arch/s390/pci/pci_event.c        | 3 +++
>  drivers/pci/pci-driver.c         | 3 ++-
>  include/linux/pci.h              | 2 +-
>  4 files changed, 7 insertions(+), 3 deletions(-)

Applied on pci/aer for v6.18, thanks!  This on top of Lukas's series:

  https://lore.kernel.org/all/cover.1755008151.git.lukas@wunner.de/

Expect the whole branch to be rebased to add Reviewed-by, etc.
Re: [PATCH v5 0/3] PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
Posted by Lukas Wunner 1 month, 1 week ago
On Thu, Aug 14, 2025 at 04:02:01PM -0500, Bjorn Helgaas wrote:
> On Thu, Aug 07, 2025 at 03:55:37PM +0200, Niklas Schnelle wrote:
> > Niklas Schnelle (3):
> >       PCI/AER: Fix missing uevent on recovery when a reset is requested
> >       PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
> >       powerpc/eeh: Use result of error_detected() in uevent
> > 
> >  arch/powerpc/kernel/eeh_driver.c | 2 +-
> >  arch/s390/pci/pci_event.c        | 3 +++
> >  drivers/pci/pci-driver.c         | 3 ++-
> >  include/linux/pci.h              | 2 +-
> >  4 files changed, 7 insertions(+), 3 deletions(-)
> 
> Applied on pci/aer for v6.18, thanks!  This on top of Lukas's series:
> 
>   https://lore.kernel.org/all/cover.1755008151.git.lukas@wunner.de/
> 
> Expect the whole branch to be rebased to add Reviewed-by, etc.

In case it helps, these are all the tags that were offered for my series
and that haven't been added to the pci/aer branch yet:

d0a2dee7d458 PCI/AER: Allow drivers to opt in to Bus Reset on Non-Fatal Errors
  Reviewed-by: Linas Vepstas <linasvepstas@gmail.com>
  https://lore.kernel.org/r/CAHrUA34fVV48MShC4CrXSmveR9i8MC4KAQxtM+XQY_Ao8joBQw@mail.gmail.com/
  Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  https://lore.kernel.org/r/8491adbd-d8e8-465a-971e-3fe50e2561b1@linux.intel.com/

1cbc5e25fb70 PCI/ERR: Fix uevent on failure to recover
  Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  https://lore.kernel.org/r/f0b59604-ae4d-4afe-8522-a8fbe5568e96@linux.intel.com/
  Reviewed-by: Linas Vepstas <linasvepstas@gmail.com>
  https://lore.kernel.org/r/CAHrUA34fVV48MShC4CrXSmveR9i8MC4KAQxtM+XQY_Ao8joBQw@mail.gmail.com/
  Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
  https://lore.kernel.org/r/a4419480c3d494a5940e87fea0c7b9864dc3e85b.camel@linux.ibm.com/

9011f0667c93 PCI/ERR: Notify drivers on failure to recover
  Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  https://lore.kernel.org/r/fa9f42ab-bced-4c7f-9977-c0b611e92e2e@linux.intel.com/
  Reviewed-by: Linas Vepstas <linasvepstas@gmail.com>
  https://lore.kernel.org/r/CAHrUA34fVV48MShC4CrXSmveR9i8MC4KAQxtM+XQY_Ao8joBQw@mail.gmail.com/

45bc82563d55 PCI/ERR: Update device error_state already after reset
  Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  https://lore.kernel.org/r/004298f7-ae08-428e-9b98-995fc56e55b1@linux.intel.com/
  Reviewed-by: Linas Vepstas <linasvepstas@gmail.com>
  https://lore.kernel.org/r/CAHrUA34fVV48MShC4CrXSmveR9i8MC4KAQxtM+XQY_Ao8joBQw@mail.gmail.com/

cc4a7a21e815 PCI/ERR: Remove remnants of .link_reset() callback
  Reviewed-by: Linas Vepstas <linasvepstas@gmail.com>
  https://lore.kernel.org/r/CAHrUA34fVV48MShC4CrXSmveR9i8MC4KAQxtM+XQY_Ao8joBQw@mail.gmail.com/
  Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  https://lore.kernel.org/r/59308229-24ed-4b8a-b398-cc47c61dfc47@linux.intel.com/
  Reviewed-by: Justin Tee <justin.tee@broadcom.com>
  https://lore.kernel.org/r/CABPRKS_Ut8Z+rvM4+-E0YvEwUKbMb0SDpLBdH+g1sYEh+YcxFA@mail.gmail.com/

Thanks!

Lukas
Re: [PATCH v5 0/3] PCI/ERR: s390/pci: Use pci_uevent_ers() in PCI recovery
Posted by Niklas Schnelle 1 month, 3 weeks ago
On Thu, 2025-08-07 at 15:55 +0200, Niklas Schnelle wrote:
> Hi Bjorn, Lukas, Mahesh,
> 
> This series adds issuing of uevents during PCI recovery on s390. In
> developing this I noticed that pci_uevent_ers() ignores
> PCI_ERS_RESULT_NEED_RESET. I think this will result in AER not generating a uevent
> at the beginning of recovery if drivers request a reset via the voting
> on error_detected() returns. This is fixed in the first patch and relied
> upon by the s390 recovery code as it also uses the result of
> error_detected() though with one device/driver at a time.
> 
> Thanks,
> Niklas
> 
> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
> ---

Hi Bjorn,

as you just picked up Lukas' "PCI: Reduce AER / EEH deviations" series
for pci/aer, I think it would make sense to take this via that tree
also. If you prefer and provide an ack for the first patch this could
also go via s390 of course.

Thanks,
Niklas