From patchwork Mon Nov 26 16:54:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keith Busch X-Patchwork-Id: 10698755 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 929EF15A8 for ; Mon, 26 Nov 2018 16:57:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8371A2A02C for ; Mon, 26 Nov 2018 16:57:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7715C2A080; Mon, 26 Nov 2018 16:57:34 +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=-5.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,TVD_PH_BODY_ACCOUNTS_POST,TVD_PH_BODY_META_ALL autolearn=unavailable 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 2FD2A2A054 for ; Mon, 26 Nov 2018 16:57:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726300AbeK0DwO (ORCPT ); Mon, 26 Nov 2018 22:52:14 -0500 Received: from mga18.intel.com ([134.134.136.126]:52438 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726206AbeK0DwO (ORCPT ); Mon, 26 Nov 2018 22:52:14 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Nov 2018 08:57:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,283,1539673200"; d="scan'208";a="95155555" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by orsmga008.jf.intel.com with ESMTP; 26 Nov 2018 08:57:32 -0800 From: Keith Busch To: linux-scsi@vger.kernel.org, linux-block@vger.kernel.org Cc: Jens Axboe , Martin Petersen , Bart Van Assche , Christoph Hellwig , Keith Busch Subject: [PATCHv4 0/3] scsi timeout handling updates Date: Mon, 26 Nov 2018 09:54:27 -0700 Message-Id: <20181126165430.4519-1-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The iterative update to the previous version taking into account review comments. Background: The main objective is to remove the generic block layer's lock prefix currently required to transition a request to its completed state by shifting that expense to lower level drivers that actually need it, and removing the software layering violation that was required to use that mechnaism. Changes since v3: The complete state is moved to its own field separate from the non-atomic scsi_cmnd "flags" field. Code comments added to describe the more obscure handling for fake timeout injection. Keith Busch (3): blk-mq: Return true if request was completed scsi: Do not rely on blk-mq for double completions blk-mq: Simplify request completion state block/blk-mq.c | 9 ++++----- drivers/scsi/scsi_error.c | 22 +++++++++++----------- drivers/scsi/scsi_lib.c | 13 ++++++++++++- include/linux/blk-mq.h | 16 +--------------- include/scsi/scsi_cmnd.h | 4 ++++ 5 files changed, 32 insertions(+), 32 deletions(-)