lkml.org 
[lkml]   [2018]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v12 0/6] Address error and recovery for AER and DPC
On 2018-03-12 03:33, Bjorn Helgaas wrote:
> On Wed, Feb 28, 2018 at 10:34:11PM +0530, Oza Pawandeep wrote:
>> This patch set brings in error handling support for DPC
>>
>> The current implementation of AER and error message broadcasting to
>> the
>> EP driver is tightly coupled and limited to AER service driver.
>> It is important to factor out broadcasting and other link handling
>> callbacks. So that not only when AER gets triggered, but also when DPC
>> get
>> triggered (for e.g. ERR_FATAL), callbacks are handled appropriately.
>>
>> DPC should enumerate the devices after recovering the link, which is
>> achieved by implementing error_resume callback.
>
> The main point of this series is to call the driver error handling
> callbacks (error_detected(), mmio_enabled(), slot_reset(), etc.) when
> DPC events occur. We've always called them for AER events, but prior
> to this series, we didn't call them for DPC events.
>
> That's a good thing -- we should treat DPC events as much like AER
> events as possible.
>
> This series does make it more obvious that there's still a big
> difference between AER and DPC handling -- for DPC, we remove and
> re-enumerate all the devices, but we don't for AER.
>
> That difference has been there since the beginning of DPC, so it has
> nothing to do with *this* series EXCEPT for the fact that it really
> complicates the logic you're adding to reset_link() and
> broadcast_error_message().
>
> We ought to be able to simplify that somehow because the only real
> difference between AER and DPC should be that DPC automatically
> disables the link and AER does it in software.
>
> Bjorn

Ok, so here is slight modification which I will do and will post final
looking patches.

1) do not enumerate the devices after link is up (since AER does not do
it)
2) remove the call to pci_stop_and_remove_bus_device(dev); because now
DPC also makes use of driver's callback. (like AER does)

above 2 changes should make behavior of DPC identical to AER.

Regards,
Oza.








\
 
 \ /
  Last update: 2018-03-12 15:02    [W:0.130 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site