From patchwork Wed May 22 17:48:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keith Busch X-Patchwork-Id: 10956409 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04C72933 for ; Wed, 22 May 2019 17:53:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E8AE528C83 for ; Wed, 22 May 2019 17:53:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E69B028C7F; Wed, 22 May 2019 17:53:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A31528C94 for ; Wed, 22 May 2019 17:53:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728615AbfEVRxQ (ORCPT ); Wed, 22 May 2019 13:53:16 -0400 Received: from mga07.intel.com ([134.134.136.100]:57850 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728450AbfEVRxQ (ORCPT ); Wed, 22 May 2019 13:53:16 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 May 2019 10:53:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,500,1549958400"; d="scan'208";a="174471726" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by fmsmga002.fm.intel.com with ESMTP; 22 May 2019 10:53:15 -0700 From: Keith Busch To: Jens Axboe , Christoph Hellwig , linux-nvme@lists.infradead.org, linux-block@vger.kernel.org Cc: Ming Lei , Keith Busch Subject: [PATCH 0/2] Reset timeout for paused hardware Date: Wed, 22 May 2019 11:48:10 -0600 Message-Id: <20190522174812.5597-1-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hardware may temporarily stop processing commands that have been dispatched to it while activating new firmware. Some target implementation's paused state time exceeds the default request expiry, so any request dispatched before the driver could quiesce for the hardware's paused state will time out, and handling this may interrupt the firmware activation. This two-part series provides a way for drivers to reset dispatched requests' timeout deadline, then uses this new mechanism from the nvme driver's fw activation work. Keith Busch (2): blk-mq: provide way to reset rq timeouts nvme: reset request timeouts during fw activation block/blk-mq.c | 30 ++++++++++++++++++++++++++++++ drivers/nvme/host/core.c | 20 ++++++++++++++++++++ include/linux/blk-mq.h | 1 + 3 files changed, 51 insertions(+)