From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 29585C07E85 for ; Wed, 14 Nov 2018 09:20:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E90EC22360 for ; Wed, 14 Nov 2018 09:20:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E90EC22360 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732569AbeKNTXA (ORCPT ); Wed, 14 Nov 2018 14:23:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59810 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727558AbeKNTXA (ORCPT ); Wed, 14 Nov 2018 14:23:00 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4DEF9307DAB3; Wed, 14 Nov 2018 09:20:36 +0000 (UTC) Received: from ming.t460p (ovpn-8-18.pek2.redhat.com [10.72.8.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 40A9F608F0; Wed, 14 Nov 2018 09:20:28 +0000 (UTC) Date: Wed, 14 Nov 2018 17:20:23 +0800 From: Ming Lei To: Jianchao Wang Cc: axboe@kernel.dk, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V7 2/4] blk-mq: fix issue directly case when q is stopped or quiesced Message-ID: <20181114092022.GC20550@ming.t460p> References: <1542185131-15029-1-git-send-email-jianchao.w.wang@oracle.com> <1542185131-15029-3-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: <1542185131-15029-3-git-send-email-jianchao.w.wang@oracle.com> User-Agent: Mutt/1.9.1 (2017-09-22) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Wed, 14 Nov 2018 09:20:36 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 14, 2018 at 04:45:29PM +0800, Jianchao Wang wrote: > When try to issue request directly, if the queue is stopped or > quiesced, 'bypass' will be ignored and return BLK_STS_OK to caller > to avoid it dispatch request again. Then the request will be > inserted with blk_mq_sched_insert_request. This is not correct > for dm-rq case where we should avoid to pass through the underlying > path's io scheduler. > > To fix it, use blk_mq_request_bypass_insert to insert the request > to hctx->dispatch when we cannot pass through io scheduler but have > to insert. Not sure if the current behaviour is wrong, or worth of a fix. Bypassing io scheduler for dm-rq is only for sake of performance because there has been io scheduler for dm device already, and we just don't want to schedule these requests twice. Given it can be thought as error handling, there shouldn't be big difference to put request in scheduler queue or ->dispatch list when queue is quiesced or stopped. What matters is that all these requests can be dispatched again after queue switches back. thanks, Ming