Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1176692ybz; Thu, 16 Apr 2020 04:28:26 -0700 (PDT) X-Google-Smtp-Source: APiQypIWd1V2JoK1+2JQqsOfsEzcJgZH4yWbi9RNz9AVTBDsXLh5DTuLBWeRUodAwWrGMuNAuiYy X-Received: by 2002:a05:6402:1802:: with SMTP id g2mr24325937edy.364.1587036506837; Thu, 16 Apr 2020 04:28:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587036506; cv=none; d=google.com; s=arc-20160816; b=rxzlgT9AQg3DHaycUv6zg5/bfd7VOuA87KMNF7amFCuzm/HTETQrs36dhRcS4hG+0q 6/qtzJmZDGc11SkqvefLvsLygW6146p6hK/6NIFXEb5vDSOJrqtHGUXoHbmY0qLrBrJi pDmOTShHT0hQLH4pWUapbsD/jolG/cRNNor0j9DZ6hciG3kr2VGHsR1SVkRvyK7MfEz3 LW1VunEqnU4USPg9uMt09y5cKG/NrtUsGmlODs+/PEuHDHjEmZG5DcEjkhVf4Knqh8fs KEpqpXk4tqz4mF0B1gDWUYA18TKYAmsLdxOL9UYFQ4cSpEzT1T5F88kbKm8/l4QG0pIm 8x5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=Kt+c4E/Py3LTI6ednEhfcyY+QxZkiAlzaGqQS9beKl0=; b=OYBlk1q3whHKwIJYbh8FDyYmX+JlIRCuQ/jZl4YxcHDkzvdmQ4PalHG6pd1WUhw9hi eQaAbeWnGg17xpY924fUJTvlqRR5sjLaj2do/6KOjZn4JRVTEqpAPAv+AzVduhVHmsCm ELxrM8cGya5xgZSSuoXmE+8weW5QNT9hAqPUweboeg08mit6TZlT4gm2+GooAVYhLUaH Ow8efYHSre7w8nUWmk5FVKEAsG84UIGZaA4MrWXGW+GAPtWQ/DcIkl8WQ9efk6mblVBu vu8MEFa+YEzs/z2WLrodgqx8fttezn9jtmizdeqwdUvGIxyELfZ15FG/C1TOypLA2CA2 y+SQ== ARC-Authentication-Results: i=1; mx.google.com; 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 l2si6037691ejz.185.2020.04.16.04.28.03; Thu, 16 Apr 2020 04:28:26 -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; 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 S2633137AbgDPL0R (ORCPT + 99 others); Thu, 16 Apr 2020 07:26:17 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:52226 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2633029AbgDPLXJ (ORCPT ); Thu, 16 Apr 2020 07:23:09 -0400 Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id B4DE0BEC26C13D528FF6; Thu, 16 Apr 2020 19:22:58 +0800 (CST) Received: from localhost.localdomain (10.69.192.58) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.487.0; Thu, 16 Apr 2020 19:22:47 +0800 From: John Garry To: CC: , , , John Garry Subject: [PATCH] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget Date: Thu, 16 Apr 2020 19:18:51 +0800 Message-ID: <1587035931-125028-1-git-send-email-john.garry@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.58] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Signed-off-by: John Garry diff --git a/block/blk-mq.c b/block/blk-mq.c index 8e56884fd2e9..a7785df2c944 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1222,8 +1222,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.16.4