From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: linux-pci@vger.kernel.org, Jon Pan-Doh <pandoh@google.com>,
Karolina Stolarek <karolina.stolarek@oracle.com>,
Weinan Liu <wnliu@google.com>,
Martin Petersen <martin.petersen@oracle.com>,
Ben Fuller <ben.fuller@oracle.com>,
Drew Walton <drewwalton@microsoft.com>,
Anil Agrawal <anilagrawal@meta.com>,
Tony Luck <tony.luck@intel.com>,
Sathyanarayanan Kuppuswamy
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Lukas Wunner <lukas@wunner.de>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Sargun Dhillon <sargun@meta.com>,
"Paul E . McKenney" <paulmck@kernel.org>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Oliver O'Halloran <oohall@gmail.com>,
Kai-Heng Feng <kaihengf@nvidia.com>,
Keith Busch <kbusch@kernel.org>,
Robert Richter <rrichter@amd.com>,
Terry Bowman <terry.bowman@amd.com>,
Shiju Jose <shiju.jose@huawei.com>,
Dave Jiang <dave.jiang@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
linuxppc-dev@lists.ozlabs.org,
Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [PATCH v7 03/17] PCI/AER: Factor COR/UNCOR error handling out from aer_isr_one_error()
Date: Wed, 21 May 2025 13:12:19 +0300 (EEST) [thread overview]
Message-ID: <95fbe3a9-fa77-c4ef-1396-618fd6944d41@linux.intel.com> (raw)
In-Reply-To: <20250520215047.1350603-4-helgaas@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 3222 bytes --]
On Tue, 20 May 2025, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
>
> aer_isr_one_error() duplicates the Error Source ID logging and AER error
> processing for Correctable Errors and Uncorrectable Errors. Factor out the
> duplicated code to aer_isr_one_error_type().
>
> aer_isr_one_error() doesn't need the struct aer_rpc pointer, so pass it the
> Root Port or RCEC pci_dev pointer instead.
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
> drivers/pci/pcie/aer.c | 36 +++++++++++++++++++++++-------------
> 1 file changed, 23 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index a1cf8c7ef628..568229288ca3 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -1273,17 +1273,32 @@ static inline void aer_process_err_devices(struct aer_err_info *e_info)
> }
>
> /**
> - * aer_isr_one_error - consume an error detected by Root Port
> - * @rpc: pointer to the Root Port which holds an error
> + * aer_isr_one_error_type - consume a Correctable or Uncorrectable Error
> + * detected by Root Port or RCEC
> + * @root: pointer to Root Port or RCEC that signaled AER interrupt
> + * @info: pointer to AER error info
> + */
> +static void aer_isr_one_error_type(struct pci_dev *root,
> + struct aer_err_info *info)
> +{
> + aer_print_port_info(root, info);
> +
> + if (find_source_device(root, info))
> + aer_process_err_devices(info);
> +}
> +
> +/**
> + * aer_isr_one_error - consume error(s) signaled by an AER interrupt from
> + * Root Port or RCEC
> + * @root: pointer to Root Port or RCEC that signaled AER interrupt
> * @e_src: pointer to an error source
> */
> -static void aer_isr_one_error(struct aer_rpc *rpc,
> +static void aer_isr_one_error(struct pci_dev *root,
> struct aer_err_source *e_src)
> {
> - struct pci_dev *pdev = rpc->rpd;
> struct aer_err_info e_info;
>
> - pci_rootport_aer_stats_incr(pdev, e_src);
> + pci_rootport_aer_stats_incr(root, e_src);
>
> /*
> * There is a possibility that both correctable error and
> @@ -1297,10 +1312,8 @@ static void aer_isr_one_error(struct aer_rpc *rpc,
> e_info.multi_error_valid = 1;
> else
> e_info.multi_error_valid = 0;
> - aer_print_port_info(pdev, &e_info);
>
> - if (find_source_device(pdev, &e_info))
> - aer_process_err_devices(&e_info);
> + aer_isr_one_error_type(root, &e_info);
> }
>
> if (e_src->status & PCI_ERR_ROOT_UNCOR_RCV) {
> @@ -1316,10 +1329,7 @@ static void aer_isr_one_error(struct aer_rpc *rpc,
> else
> e_info.multi_error_valid = 0;
>
> - aer_print_port_info(pdev, &e_info);
> -
> - if (find_source_device(pdev, &e_info))
> - aer_process_err_devices(&e_info);
> + aer_isr_one_error_type(root, &e_info);
> }
> }
>
> @@ -1340,7 +1350,7 @@ static irqreturn_t aer_isr(int irq, void *context)
> return IRQ_NONE;
>
> while (kfifo_get(&rpc->aer_fifo, &e_src))
> - aer_isr_one_error(rpc, &e_src);
> + aer_isr_one_error(rpc->rpd, &e_src);
> return IRQ_HANDLED;
> }
>
>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
--
i.
next prev parent reply other threads:[~2025-05-21 10:12 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-20 21:50 [PATCH v7 00/17] Rate limit AER logs Bjorn Helgaas
2025-05-20 21:50 ` [PATCH v7 01/17] PCI/DPC: Initialize aer_err_info before using it Bjorn Helgaas
2025-05-21 8:52 ` Jonathan Cameron
2025-05-21 19:18 ` Bjorn Helgaas
2025-05-21 10:06 ` Ilpo Järvinen
2025-05-20 21:50 ` [PATCH v7 02/17] PCI/DPC: Log Error Source ID only when valid Bjorn Helgaas
2025-05-21 9:00 ` Jonathan Cameron
2025-05-21 19:23 ` Bjorn Helgaas
2025-05-21 10:09 ` Ilpo Järvinen
2025-05-20 21:50 ` [PATCH v7 03/17] PCI/AER: Factor COR/UNCOR error handling out from aer_isr_one_error() Bjorn Helgaas
2025-05-20 22:26 ` Sathyanarayanan Kuppuswamy
2025-05-21 9:15 ` Jonathan Cameron
2025-05-21 10:12 ` Ilpo Järvinen [this message]
2025-05-20 21:50 ` [PATCH v7 04/17] PCI/AER: Consolidate Error Source ID logging in aer_isr_one_error_type() Bjorn Helgaas
2025-05-20 22:27 ` Sathyanarayanan Kuppuswamy
2025-05-21 9:20 ` Jonathan Cameron
2025-05-21 19:39 ` Bjorn Helgaas
2025-05-21 10:14 ` Ilpo Järvinen
2025-05-20 21:50 ` [PATCH v7 05/17] PCI/AER: Extract bus/dev/fn in aer_print_port_info() with PCI_BUS_NUM(), etc Bjorn Helgaas
2025-05-21 9:21 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 06/17] PCI/AER: Rename aer_print_port_info() to aer_print_source() Bjorn Helgaas
2025-05-21 9:22 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 07/17] PCI/AER: Move aer_print_source() earlier in file Bjorn Helgaas
2025-05-21 9:23 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 08/17] PCI/AER: Initialize aer_err_info before using it Bjorn Helgaas
2025-05-21 9:24 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 09/17] PCI/AER: Simplify pci_print_aer() Bjorn Helgaas
2025-05-20 22:29 ` Sathyanarayanan Kuppuswamy
2025-05-21 9:27 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 10/17] PCI/AER: Update statistics early in logging Bjorn Helgaas
2025-05-21 9:43 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 11/17] PCI/AER: Combine trace_aer_event() with statistics updates Bjorn Helgaas
2025-05-21 9:46 ` Jonathan Cameron
2025-05-21 17:12 ` Bjorn Helgaas
2025-05-20 21:50 ` [PATCH v7 12/17] PCI/AER: Check log level once and remember it Bjorn Helgaas
2025-05-21 9:52 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 13/17] PCI/AER: Make all pci_print_aer() log levels depend on error type Bjorn Helgaas
2025-05-21 9:56 ` Jonathan Cameron
2025-05-21 17:45 ` Bjorn Helgaas
2025-05-20 21:50 ` [PATCH v7 14/17] PCI/AER: Rename struct aer_stats to aer_info Bjorn Helgaas
2025-05-21 9:59 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 15/17] PCI/AER: Ratelimit correctable and non-fatal error logging Bjorn Helgaas
2025-05-20 22:33 ` Sathyanarayanan Kuppuswamy
2025-05-21 23:06 ` Bjorn Helgaas
2025-05-21 10:24 ` Ilpo Järvinen
2025-05-21 10:31 ` Jonathan Cameron
2025-05-21 22:54 ` Bjorn Helgaas
2025-05-22 11:17 ` Jonathan Cameron
2025-05-20 21:50 ` [PATCH v7 16/17] PCI/AER: Add ratelimits to PCI AER Documentation Bjorn Helgaas
2025-05-20 21:50 ` [PATCH v7 17/17] PCI/AER: Add sysfs attributes for log ratelimits Bjorn Helgaas
2025-05-20 22:35 ` Sathyanarayanan Kuppuswamy
2025-05-21 10:46 ` Jonathan Cameron
2025-05-21 11:05 ` Ilpo Järvinen
2025-05-21 22:59 ` Bjorn Helgaas
2025-05-22 11:21 ` Jonathan Cameron
2025-05-22 23:05 ` Bjorn Helgaas
2025-05-21 23:14 ` [PATCH v7 00/17] Rate limit AER logs Bjorn Helgaas
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=95fbe3a9-fa77-c4ef-1396-618fd6944d41@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=anilagrawal@meta.com \
--cc=ben.fuller@oracle.com \
--cc=bhelgaas@google.com \
--cc=dave.jiang@intel.com \
--cc=drewwalton@microsoft.com \
--cc=helgaas@kernel.org \
--cc=kaihengf@nvidia.com \
--cc=karolina.stolarek@oracle.com \
--cc=kbusch@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lukas@wunner.de \
--cc=mahesh@linux.ibm.com \
--cc=martin.petersen@oracle.com \
--cc=oohall@gmail.com \
--cc=pandoh@google.com \
--cc=paulmck@kernel.org \
--cc=rrichter@amd.com \
--cc=sargun@meta.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=shiju.jose@huawei.com \
--cc=terry.bowman@amd.com \
--cc=tony.luck@intel.com \
--cc=wnliu@google.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.