Received: by 10.213.65.68 with SMTP id h4csp70737imn; Mon, 12 Mar 2018 07:04:19 -0700 (PDT) X-Google-Smtp-Source: AG47ELt94JW8ROvFT/PjFy51ODB1rgmVKuRUgN37YBblxhFfH7L9i7g3KOHy5MwxGyFedpHZGbsT X-Received: by 2002:a17:902:f44:: with SMTP id 62-v6mr8254827ply.27.1520863459806; Mon, 12 Mar 2018 07:04:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520863459; cv=none; d=google.com; s=arc-20160816; b=miDyVnv0ukgfn7PcTWERVZtSigfJHhsTq8b/pXcbHno4S8fjv8019FbC7FbbXXmN3G vmTVdPu1vIzXlJpd2/b4qSw8EWBYyYWzRz+rJtAPRdOnzySo65RHBmcnxPQl24jmaV94 1LzYLWWIvfLBJt2EZnEeCTCcdI8rwIzzfKqLLFWNsz0xD6M8C1x87UTBal9yljh/t5ji go7xq0HZHcGf7zNLaGfrIc0QC4rSgaICGDP7zDsV1eFvQVA/8T7CvOm+QcQTOGhQ+Hm0 Kp1YNGDnj+Vkm+W5jDd+kdLL17Gsxq1i2EK6QD38ZaRKwaYqjAjUrLSzHd+KJ8hdkCd/ 4s9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=2S3X0ujorlr3pUBXj69i0h2H2dJUptZo1oetdDhqfQA=; b=z7otjng5Al9Gp+ynNrapxBeX0WXUm3cVtBRsLkUPt17w4R5f0XQaGqSZ+P0Ck9pU+j mXDMwkOGMaZ+s1JEpzpQNQVX2/v9SwSO8dQL7ZCJPnvbXkiXBYojUtXhFFk3DHsswveE Pty+mN5bqB+aOjSZqdcKDFQ4EMfrwm9n6ViXPJDK4ji77tkEBTL4HZ8z/e/qN1VQGFx+ lxjucJltSTKrPCWPYiwD5OAziSayHHSDXUnL9PzeFXgWlItmWEy1bjbsi+ImGxQPHkWq eDj9LGWhtb+sKNjyN0Z+yPlFkqsDb7DFINXncHgPgWfg4nssIAPq9UHpni8exHPq+xNt W3Ww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=AfQdgO+P; dkim=pass header.i=@codeaurora.org header.s=default header.b=KLCnutf+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 92-v6si5970091pli.455.2018.03.12.07.03.45; Mon, 12 Mar 2018 07:04:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=AfQdgO+P; dkim=pass header.i=@codeaurora.org header.s=default header.b=KLCnutf+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932214AbeCLOBM (ORCPT + 99 others); Mon, 12 Mar 2018 10:01:12 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:44784 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750811AbeCLOBK (ORCPT ); Mon, 12 Mar 2018 10:01:10 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id C99ED6081A; Mon, 12 Mar 2018 14:01:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520863269; bh=cNued0PON3U8EoVN6H2a7NSDYZRuqpN/NfTia6J5fl4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=AfQdgO+PAqpFBKrw1ow/xkffvGXRow3q/mvhcPXCBbycuSBuwdJFCxfsSIRnOeiAE 7T3fXywyRzAymjOYVAyi2V2JDvmkqF1Z1sm/6BoZ9Q9jlWJNis1RCumlGYk1PPH+vW GXeUQPdnZhER8AdxAhsQZSVCEhtXUezT1+D8TH/I= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id C85F46016D; Mon, 12 Mar 2018 14:01:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520863268; bh=cNued0PON3U8EoVN6H2a7NSDYZRuqpN/NfTia6J5fl4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=KLCnutf+L2un1CyMI8eM03Ymyq3hWNa6JQUOm1EupSXX4Hd/S3QIxOA0fY1VHhVlq lO1wv/7DWIPa7/xYeL282XoeVgDZfYK2DGrumBa9Bh/FkjmEgxmpv351+nVt+X0S/J ZDaiB8PHUt+EcGxkKUNyfRS5rJllkCLuKT1ibs1o= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 12 Mar 2018 19:31:08 +0530 From: poza@codeaurora.org To: Bjorn Helgaas Cc: Bjorn Helgaas , Philippe Ombredanne , Thomas Gleixner , Greg Kroah-Hartman , Kate Stewart , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Dongdong Liu , Keith Busch , Wei Zhang , Sinan Kaya , Timur Tabi Subject: Re: [PATCH v12 0/6] Address error and recovery for AER and DPC In-Reply-To: <20180311220337.GA194000@bhelgaas-glaptop.roam.corp.google.com> References: <1519837457-3596-1-git-send-email-poza@codeaurora.org> <20180311220337.GA194000@bhelgaas-glaptop.roam.corp.google.com> Message-ID: <7130ab5d568b721ee59f029cf0d5072c@codeaurora.org> X-Sender: poza@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.