Received: by 10.223.176.5 with SMTP id f5csp1125438wra; Wed, 7 Feb 2018 13:09:06 -0800 (PST) X-Google-Smtp-Source: AH8x226FNIWBOWsUbNxzaUxxarPLGcblW8hENXvQ1zmYd95NSO7JszooYlO2U2uiWvr46EroC/aK X-Received: by 10.98.13.14 with SMTP id v14mr7188631pfi.184.1518037746368; Wed, 07 Feb 2018 13:09:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518037746; cv=none; d=google.com; s=arc-20160816; b=PFY6w0eFMNpExf/gSykut0NZ84kDl2+fEvMhEvUWCHvkCfMsOIsBCB4AAZVjaAdiSd p1HpH08Cnj/f6koxpeebTOEqB2ORKbMO6AstqXtc/7qJj3E5PFpL3WKTdNRH7izofsmE 96nRfdTxhMmxWuA3AUVdHzohT4fE+ybsd0/5er4vsFCDLADzucOOdXst0/rhTqXV9o/x hjsHcCZv4TxeIDarpf2QOqfC6EmDHi15wLyE1YL6bgwWAEuPaIcHKwNRaVDCEkEGcDIg tThcAI5BNKVlOrBa+4ZNziF4D3sh8P0QbvUcjU2w9H5/fC9rchbcE7Z/OeB5ptkCZ7gJ UIkA== 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:arc-authentication-results; bh=ahf0gxK5IKIhvHwhdQFR1UjjNU9ckGW+RrDjQd5ZKtA=; b=qNQNrCkZIHL1DaSg6/xHLNC4YfQb5U/E6V65xgFGJ9agCB+wq4x+yDs2WCrWGgaHsw LB6Ewes4a5B5YOSpKBIL0Bt7CbHxpQfutX6oipWgEyEh+mjHsIVRVqjWhd+STsZN79Tm H0AcI3nclRjss15atDKgIP+Oebz2gqVnyfcv/ZbSU5zAgc+T+Z8ihrYaEXRS5eMZ96WV flLf9f+9FFwCKoLUAsorR7VW91qanzA3HajVDoQAxChgqJNRiE4R2yU0cdFBcgHkte5R RvSdzMtquQjgD67LvhzEew9yNuBIF0Xb8LRcf9DE20kLjzf4rHMjAg3nqu9qG9aqI97/ K7CQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c74si292118pfj.339.2018.02.07.13.08.52; Wed, 07 Feb 2018 13:09:06 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754715AbeBGVIF (ORCPT + 99 others); Wed, 7 Feb 2018 16:08:05 -0500 Received: from mga05.intel.com ([192.55.52.43]:33242 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754422AbeBGVIE (ORCPT ); Wed, 7 Feb 2018 16:08:04 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Feb 2018 13:08:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,473,1511856000"; d="scan'208";a="16417344" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by orsmga008.jf.intel.com with ESMTP; 07 Feb 2018 13:08:03 -0800 Date: Wed, 7 Feb 2018 14:12:02 -0700 From: Keith Busch To: wenxiong@linux.vnet.ibm.com Cc: linux-nvme@lists.infradead.org, axboe@fb.com, linux-kernel@vger.kernel.org, wenxiong@us.ibm.com Subject: Re: [PATCH V2]nvme-pci: Fixes EEH failure on ppc Message-ID: <20180207211202.GD1337@localhost.localdomain> References: <1518034178-26176-1-git-send-email-wenxiong@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1518034178-26176-1-git-send-email-wenxiong@linux.vnet.ibm.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 Wed, Feb 07, 2018 at 02:09:38PM -0600, wenxiong@linux.vnet.ibm.com wrote: > @@ -1189,6 +1183,12 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved) > struct nvme_command cmd; > u32 csts = readl(dev->bar + NVME_REG_CSTS); > > + /* If PCI error recovery process is happening, we cannot reset or > + * the recovery mechanism will surely fail. > + */ > + if (pci_channel_offline(to_pci_dev(dev->dev))) > + return BLK_EH_RESET_TIMER; So reading csts is what triggers EEH to be detected and get the channel set offline? If so, don't we need a memory barrier before calling pci_channel_offline? Otherwise it looks like the compiler optimization could reorder these.