Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3776323imm; Mon, 8 Oct 2018 09:18:52 -0700 (PDT) X-Google-Smtp-Source: ACcGV63ySFBe0XhWrzqds1Fm/MeUXuB7X/CQJSx3kZYP0uPY6l4o17N1+BS7UhiaDbDugWV625qP X-Received: by 2002:a63:5c10:: with SMTP id q16-v6mr21852659pgb.452.1539015532021; Mon, 08 Oct 2018 09:18:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539015531; cv=none; d=google.com; s=arc-20160816; b=cLWV2eEd8Z4Tdtmg+jpHWTqBU1zP/ePcS5xBxW1Ow1ru1/zIFER5oF7HiQ6de4UiBe STa+OXbfzQr8BxXYDiPvyNRnIbv2eZNowywN/fC1haiE0EI975MLUkl7SNgoDUtDTaAW Y9NhVX8L++A6iKtLzPEN+XtPT0CBKckzCECl7kCHSuIdF48tIP/JJlyJ+Mi3x8cPdS1e 7GvciYiH7Bwb8HG7lpXGozFfIMKoRM0Pm1pDZECw9XMaY+mXPfCnq9s/pZvt6POenMib 5pAWFGIzMwoEMGe/bcQ3VRpCd7yu35ZKs1F8Tm0OaaneSvZg5QmIVJXD+63a5tGx5B5e 5PmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=6q/DCwdH2UmClE3sWLtPNzfD6Vbb+9B8tOsZeLK6e+4=; b=b4HcsnWcG8o1fvaA0EMC4pynLHtfqHw3+x4mGgB6E/oyq6HppH74I1LxFxDhw6k1mp M72JRxmiMYfxHZDSBADOT+u/cxdYgtdpuNNJ6g53jITGnfwi01f5qMutTY4W6HG52DIp QpQ4sOsc1+wWEdiQxodFmvlsS35lUKZG87V0GN8fFRCIYh9OgjVtBkM5HXgC1PqcjTmb ByxMoDF+R+SFRSJDShEmGW9RN651VibqI71k+8iaDB3oBce5KEQUHMgP+etl30qz0NZ+ tPoIvteqV+wHf5/CYQc8RvXBJ62snllzxp8RMIs0WZD+ObKMV1nBkUzYRg5bD18GqoXF MmRQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y1-v6si18106639pll.35.2018.10.08.09.18.36; Mon, 08 Oct 2018 09:18:51 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726670AbeJHX2q (ORCPT + 99 others); Mon, 8 Oct 2018 19:28:46 -0400 Received: from mga09.intel.com ([134.134.136.24]:1294 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726391AbeJHX2q (ORCPT ); Mon, 8 Oct 2018 19:28:46 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Oct 2018 09:16:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,357,1534834800"; d="scan'208";a="95668818" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by fmsmga004.fm.intel.com with ESMTP; 08 Oct 2018 09:16:16 -0700 Date: Mon, 8 Oct 2018 10:18:47 -0600 From: Keith Busch To: Bjorn Helgaas Cc: Linux PCI , Bjorn Helgaas , Benjamin Herrenschmidt , Sinan Kaya , Thomas Tai , poza@codeaurora.org, Lukas Wunner , Christoph Hellwig , Mika Westerberg , Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 00/12] error handling and pciehp maintenance Message-ID: <20181008161847.GA30971@localhost.localdomain> References: <20180918235848.26694-1-keith.busch@intel.com> <20181004214015.GK120535@bhelgaas-glaptop.roam.corp.google.com> <20181004221137.GB21834@localhost.localdomain> <20181005173145.GL120535@bhelgaas-glaptop.roam.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181005173145.GL120535@bhelgaas-glaptop.roam.corp.google.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 05, 2018 at 12:31:45PM -0500, Bjorn Helgaas wrote: > [+cc arm64 folks, LKML: This conversation is about this patch: > > https://lore.kernel.org/linux-pci/20180918235848.26694-3-keith.busch@intel.com > > which fixes some PCIe AER error injection bugs, but also makes the error > injector dependent on DYNAMIC_FTRACE_WITH_REGS, which not all arches > support. Note that this question is only about the error *injection* > module used for testing. It doesn't affect AER support itself.] > > On Thu, Oct 04, 2018 at 04:11:37PM -0600, Keith Busch wrote: > > On Thu, Oct 04, 2018 at 04:40:15PM -0500, Bjorn Helgaas wrote: > > > On Tue, Sep 18, 2018 at 05:58:36PM -0600, Keith Busch wrote: > > > > I ran into a lot of trouble testing error handling, and this series is > > > > just trying to simplify some things. The first 4 fix up aer_inject, and > > > > the rest are cleanup to make better use of kernel APIs. > > > > > > > > Keith Busch (12): > > > > PCI: Set PCI bus accessors to noinline > > > > PCI/AER: Covertly inject errors > > > > PCI/AER: Reuse existing service device lookup > > > > PCI/AER: Abstract AER interrupt handling > > > > PCI/AER: Remove dead code > > > > PCI/AER: Remove error source from aer struct > > > > PCI/AER: Use kfifo for tracking events > > > > PCI/AER: Use kfifo helper inserting locked elements > > > > PCI/AER: Don't read upstream ports below fatal errors > > > > PCI/AER: Use threaded IRQ for bottom half > > > > PCI/AER: Use managed resource allocations > > > > PCI/pciehp: Use device managed allocations > > > > > > > > drivers/pci/access.c | 4 +- > > > > drivers/pci/hotplug/pciehp_core.c | 14 +- > > > > drivers/pci/hotplug/pciehp_hpc.c | 48 ++---- > > > > drivers/pci/pcie/Kconfig | 2 +- > > > > drivers/pci/pcie/aer.c | 219 ++++++--------------------- > > > > drivers/pci/pcie/aer_inject.c | 306 ++++++++++++++++++++------------------ > > > > drivers/pci/pcie/portdrv.h | 4 - > > > > drivers/pci/pcie/portdrv_core.c | 1 + > > > > 8 files changed, 227 insertions(+), 371 deletions(-) > > > > > > Thanks a lot for doing this! I applied these to pci/hotplug for > > > v4.20, except for "PCI/AER: Don't read upstream ports below fatal > > > errors", which seems to be already there via another posting, and > > > "PCI/pciehp: Use device managed allocations", which needs a few > > > tweaks. > > > > Sounds good, and thanks for applying! > > > > In case this went unnoticed, patch 2's aer_inject using ftrace hooks > > to pci config accessors is really cool and fixes several kernel crashes > > I encountered, but it may not work on every architecture. I'm not sure > > how widely aer_inject is used, so maybe there are no concerns with the > > DYNAMIC_FTRACE_WITH_REGS dependency, but I just want to reemphasize that > > dependency in case there are valid objections. > > Oh, indeed, I hadn't noticed this arch dependency. AFAICT, the new > DYNAMIC_FTRACE_WITH_REGS dependency means aer_inject will work only > on these arches: > > arm # if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU > powerpc # if PPC64 && CPU_LITTLE_ENDIAN > riscv # ARCH_RV64I only > s390 > x86 > > Notably missing is arm64, which has DYNAMIC_FTRACE but not > DYNAMIC_FTRACE_WITH_REGS. > > Bjorn Looks like the kbuild bot found an ARM kernel config that has DYNAMIC_FTRACE_WITH_REGS set, and then the module can't compile there. I'll need to update this patch regardless, and I think the right thing to do is maintain the "old" way with conditional compiling for any arch specific features.