Re: [PATCH v2 1/8] PCI/AER: Remove aer_print_port_info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 5, 2025 at 2:35 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> I guess the problem is that future patches rate limit the e1000e
> messages, and we really need to rate limit the pcieport message using
> the same e1000e ratelimit_state.  We do know the Requester ID of the
> device, so maybe we could look up that ratelimit_state?

Yeah, the intent behind the patch is to simplify the ratelimiting logic.
If I accessed the ratelimit via aer_err_info, then the ratelimit would need
to be doubled.

> On Tue, Mar 04, 2025 at 05:04:21PM -0800, Jon Pan-Doh wrote:
> > Would a log suffice in that case (i.e. when aer_get_device_error()
> > returns 0)? Something along the lines of "{device} is not accessible
> > while processing (un)correctable error"

What are your thoughts on this? It adds the pcie port log in the
edge case described (with no loss of info) and doesn't require
changes to current ratelimit logic. Something like this (with more
fields filled in of course):

diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index 21cdf590b25e..bdfc7e8d6f0f 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1253,6 +1253,8 @@ static inline void
aer_process_err_devices(struct aer_err_info *e_info)
        for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) {
                if (aer_get_device_error_info(e_info->dev[i], e_info))
                        aer_print_error(e_info->dev[i], e_info);
+               else
+                       pci_error(e_info->dev[i], "{device} is not
accessible while processing (un)correctable error");
        }
        for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) {
                if (aer_get_device_error_info(e_info->dev[i], e_info))

Thanks,
Jon





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux