Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp680499ybz; Fri, 1 May 2020 06:42:37 -0700 (PDT) X-Google-Smtp-Source: APiQypJA70nhOWFwjMmwvTf9UmUKdTX1BRvpmNYtCYd2OiXyHf8tXmM4ykA+at85NYEjTUB4Zl5K X-Received: by 2002:a17:906:8282:: with SMTP id h2mr3387663ejx.250.1588340557787; Fri, 01 May 2020 06:42:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588340557; cv=none; d=google.com; s=arc-20160816; b=dGxQxRVl9egkizXH5fSPqXKmqd1mAzKUh2io0gGke7V17vAEwDeY/UMwm1QqdFTCgt KIjXPYB+NsT4Dzm/3d5nbajRQ4+tXFo1E98T7MQyWEVAPrEYJHW7FxccNm0cjMcSpII+ mHKtfCnZiJtQCwuW58EWggixGcIFQWVKlCCrWud55pVe5y8cDtIUdmsYiryfk4Zgu8wZ 6dDbDluq7Gev+FMtIojBomALZEdJMeMnnVdtEUXmr2tMHhMUk8NzkkM2AhJVvlaaAV8T kZ83t0fXS8b5+Srx7qPFpPYVXOB4fUuYN0TWilQQiGoe1K1CwlkqSivGxy8acY+vWcSp RDZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=uxO3z+RIPPNXTYW1YhQVoMVy4cnIdGh9nzVT5SC7cJA=; b=uQN2cfhYtbo3TqHT3zwwvfJzlMy3Yn23QU140OBbawyMBxbGqk4hKfgp0n6vBOfR4L ztO6BfUHMSQqGdnE2t+c8W1ZILblj+ppKtEI0petqPzUGKhW47suZE+44nUcDiV7jju/ MDHWtRvd6/7yHYWh3lq5NSmxalQs62yaWiTJCvjBQDA51M93eGP6MNRasLDhByFTEuDa M9Tm0EMO+mXFk6lh6gCX0R1nGQVuL9WM+NtGqoa1iPjNutSMTUw3Q/uvOIgy7Enq+Nml v65zwj2C6I+PsYKKi6srXBCvriEHdI8yRVACp6Z70nrcWWAzR8vbPgL8JEKTAwzNeCui Lnzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JripMCSS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si1679378eju.4.2020.05.01.06.42.14; Fri, 01 May 2020 06:42:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JripMCSS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731358AbgEANk4 (ORCPT + 99 others); Fri, 1 May 2020 09:40:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:41072 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731055AbgEANkz (ORCPT ); Fri, 1 May 2020 09:40:55 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 69C90205C9; Fri, 1 May 2020 13:40:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588340454; bh=FNO5HnRA8S9+d8oyUQAZzI9nV37VP+FJrNUT5nn94nw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JripMCSSRyb1MYo7pT1CLc2LsI4ZKUc4MLSEw+vmoLd09CMm9A6M+jFBDKDOw3SLx YGCSW3UJQ5hJAZoyKBrWpmksKB4eBhYgnEEu3P/FFAjIZWjZW14yuwmeyQ9WXS6pSJ N3KlDw4pmYnEN1l/6EE1jrwwk4uJ610xfkpBrI/U= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ming Lei , John Garry , Jens Axboe , Sasha Levin Subject: [PATCH 5.4 74/83] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget Date: Fri, 1 May 2020 15:23:53 +0200 Message-Id: <20200501131541.865621289@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200501131524.004332640@linuxfoundation.org> References: <20200501131524.004332640@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: John Garry [ Upstream commit 5fe56de799ad03e92d794c7936bf363922b571df ] If in blk_mq_dispatch_rq_list() we find no budget, then we break of the dispatch loop, but the request may keep the driver tag, evaulated in 'nxt' in the previous loop iteration. Fix by putting the driver tag for that request. Reviewed-by: Ming Lei Signed-off-by: John Garry Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin --- block/blk-mq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index a8c1a45cedde0..757c0fd9f0cc2 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1232,8 +1232,10 @@ bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list, rq = list_first_entry(list, struct request, queuelist); hctx = rq->mq_hctx; - if (!got_budget && !blk_mq_get_dispatch_budget(hctx)) + if (!got_budget && !blk_mq_get_dispatch_budget(hctx)) { + blk_mq_put_driver_tag(rq); break; + } if (!blk_mq_get_driver_tag(rq)) { /* -- 2.20.1