Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3989435yba; Tue, 7 May 2019 10:14:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqwDY63JlU6k+S+g9VGbH3EnCc7iJfDfBHIwJtfEH/EvTyAuie71aw++p7Nq4K5kN/9G0CnZ X-Received: by 2002:a17:902:2a2b:: with SMTP id i40mr40932094plb.170.1557249266222; Tue, 07 May 2019 10:14:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557249266; cv=none; d=google.com; s=arc-20160816; b=act6Kgjlyt6ix2ReGjGt48nhnNiy/E9eSiXTyWAa/nZRainMvDZcI6YzmkH49BYgpG Wzo0H4WFrWZUpg9mDakN2jv8A5wld30+evnrjEJ0u4Rh2avdLGur/ODZGtONRenI6TKV 3SSYCzb2kXM0FG5zgyV9Mq93kQC7gcg0vRxhOQOwEdYCl9/Al5EoObvzEPUTIVE0W58F Vg30rdA+tkj64vc8Fo5OfkIhRbzPrmHrjjl0cyyDYbtTYqSKxdIGJgmBmNy9AVow/Zx9 A4cVI9DQhfBmCKam7xXtLMRtIMy4QR+Y7jGK4tDJliG9tI3zbZQahFibViy8nelw8coo jDPQ== 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=nDMEntcbNOhMS5ZJ90bWI/GMWJ7Apt5ar1cSEJLPvjU=; b=xdr1ZK6ANb5t+xGlDBNLDASLNFM0J98nvGPZ0CUXCZpYXc8rLQrftITrFdEqLBVeXD fFbBkYYhOPuP/vqJ7HdkOZ8YvZCFqcQOq38MzU4SHK3LaNXaXI/8E4cmrB42N8EQZpJh Wa7PbZAKIJlX59ABa+7+gMpvy3OzigQPW+Qk000T7xXC2XIX46pVOSNUwSNzx5kWoZc+ aG8L43o3Ce0R0IBH1SYeCTCRyS0Q5eS1mVHH+R6VyFOEpzyXPB9VgflK5V6gEOJm6SXS 6GYKSkweJqcuN9hA6xhYJYeDpXlgK0916Kn0/vfxi7O29hfeHUBY3i9CrLgPmOb0UpT5 h2pw== 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f5si18025386pgs.86.2019.05.07.10.14.09; Tue, 07 May 2019 10:14:26 -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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726583AbfEGRNJ (ORCPT + 99 others); Tue, 7 May 2019 13:13:09 -0400 Received: from mga02.intel.com ([134.134.136.20]:47997 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726225AbfEGRNJ (ORCPT ); Tue, 7 May 2019 13:13:09 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 May 2019 10:13:08 -0700 X-ExtLoop1: 1 Received: from unknown (HELO localhost.localdomain) ([10.232.112.69]) by orsmga006.jf.intel.com with ESMTP; 07 May 2019 10:13:08 -0700 Date: Tue, 7 May 2019 11:07:34 -0600 From: Keith Busch To: Akinobu Mita Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Johannes Berg , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Minwoo Im Subject: Re: [PATCH v2 6/7] nvme-pci: add device coredump support Message-ID: <20190507170733.GA6783@localhost.localdomain> References: <1557248314-4238-1-git-send-email-akinobu.mita@gmail.com> <1557248314-4238-7-git-send-email-akinobu.mita@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1557248314-4238-7-git-send-email-akinobu.mita@gmail.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, May 08, 2019 at 01:58:33AM +0900, Akinobu Mita wrote: > +static void nvme_coredump(struct device *dev) > +{ > + struct nvme_dev *ndev = dev_get_drvdata(dev); > + > + mutex_lock(&ndev->shutdown_lock); > + > + nvme_coredump_prologue(ndev); > + nvme_coredump_epilogue(ndev); > + > + mutex_unlock(&ndev->shutdown_lock); > +} This is a bit of a mine field. The shutdown_lock is held when reclaiming requests that didn't see a response. If you're holding it here and your telemetry log page times out, we're going to deadlock. And since the controller is probably in a buggered state when you try to retrieve one, I would guess an unrecoverable timeout is the most likely outcome.