Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp1081150imm; Wed, 20 Jun 2018 11:13:55 -0700 (PDT) X-Google-Smtp-Source: ADUXVKI0o4B+Yi4ptnKBx3N/YMDeROGxkv7rfd9+bEXOles73LLYz0Tx0QSflZWubUimTXRsfHaP X-Received: by 2002:a62:e208:: with SMTP id a8-v6mr23805448pfi.6.1529518435008; Wed, 20 Jun 2018 11:13:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529518434; cv=none; d=google.com; s=arc-20160816; b=xfHLcgNqdMO0yB2K9DksD6DH5O2pgkgAd6GI+o0rGKlA0Ff924jGIBf7OjpiTBUR6Q WHaU1I80BUorOV2FRc9XXpqo3m/8HPQvfwwVJfeFbcuOadDwJC5XoOvZvEjzlTN2ffVq zOL3tHf/sQnOev//xlKGc5yWWkLjDJXSWD41lcZLmoNyi/bxdVuJ0tTolQ2cMtO3umPf i/RRJOMF7sKjWQzOE69XDX+vTZ+nYeMnnA+GysYz+dtfB/Y01UFv4y4cyuH6/xh8Qcqd nZCcYDd937RVm2UnsGc7g/LGzLQ62OJ7RiCO49UWtbxtZ2C94QIxRfZ0fSU7ZkoCxbrC kBMA== 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=A71ot+AN7bZXIKTCmzc+XOc+D3h+E7gFEjL+Qf6wtsc=; b=YvSnaJZXa2cENXPfbEp65ey3akq4uFV/DkURzMAhJjOpqesdr6YVC7MSdN6bLnSlAX XG46Sag5o3+xsYgL6adEEIk4sHO1AClXhWnee12rISQFFCnP3euJiJxyn06Nwobza/t1 CY0tcea7jqF+KLZl5oVaMMI0K3xwePmoj0rVgYB9OjbMQ6uudgPihuI5Y29jfaUk73Tf jjR4SI7p6X0fQ/aLcgkDJQ3wyO2rwNb4YaC2+4AOmAgvYtRPJVUoBQyjlDnbsUOq71LJ u9wbsKLg1DWKqccN2vbRVNBiUnGDN/SmfR9Dpf0tZ9YLVT6AIbbNsW0IpU4THrDbtpBi JlMQ== 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 s6-v6si2957573pfj.338.2018.06.20.11.13.39; Wed, 20 Jun 2018 11:13:54 -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 S1754559AbeFTSMx (ORCPT + 99 others); Wed, 20 Jun 2018 14:12:53 -0400 Received: from mga04.intel.com ([192.55.52.120]:22704 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754537AbeFTSMu (ORCPT ); Wed, 20 Jun 2018 14:12:50 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jun 2018 11:12:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,248,1526367600"; d="scan'208";a="59464055" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by fmsmga002.fm.intel.com with ESMTP; 20 Jun 2018 11:12:49 -0700 Date: Wed, 20 Jun 2018 12:16:01 -0600 From: Keith Busch To: Jianchao Wang Cc: axboe@kernel.dk, hch@lst.de, martin.petersen@oracle.com, josef@toxicpanda.com, ulf.hansson@linaro.org, linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/5]stop normal completion path entering a timeout req Message-ID: <20180620181601.GA24145@localhost.localdomain> References: <1529500964-28429-1-git-send-email-jianchao.w.wang@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1529500964-28429-1-git-send-email-jianchao.w.wang@oracle.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, Jun 20, 2018 at 09:22:39PM +0800, Jianchao Wang wrote: > Dear all > > scsi timeout and error handler are based on an assumption that normal > completion mustn't do anything on an timeout request. After 12f5b931 > (blk-mq: Remove generation seqeunce), we lost this. __blk_mq_complete > request could ensure a request won't be completed twice, but it can > still complete a timeout request. > scsi (even other drivers) have been working on this assumption for many > years, it is dangerous to discard it suddenly. This patch set is to regain this. I certainly don't want to harm any drivers. Could you possibly explain what about removing silent execptions from the completion handler and letting drivers control the destiny of requests they own is "dangerous"? A initial look at your proposal looks pretty harmful to me. A driver may return BLK_EH_RESET_TIMER, then call blk_mq_complete_req from another thread, and your patch will simply lose that request and escalate error recovery. That seems exactly what you shouldn't want to happen.