Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3668627ybz; Mon, 20 Apr 2020 07:20:43 -0700 (PDT) X-Google-Smtp-Source: APiQypJGzi1vfxO8aSkVAf2YYqahENrjVyc3E/HLEDg7LOKZTFQG50NNTU0jrjDv+a+GMM8K9TuJ X-Received: by 2002:a17:907:2711:: with SMTP id w17mr16134072ejk.116.1587392443692; Mon, 20 Apr 2020 07:20:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587392443; cv=none; d=google.com; s=arc-20160816; b=s2x+5Gza4H2s5Gq02IAToXrbQk1gCr+Ipj5aPBZUkHsK56zCtYRf7ErP32P1AdYzl8 IW7fBAkcI2BlS2tyG+gc5M1/7xNOqaZtjw5mpJipuWAPk+gecoAJoEggsSbuBikCMOSG OJK3xecIOaw2iMqM13V6RcODOkaEJilbM7JjMPGeKub6tfLopCrM9g2LxQoSmrcKogOJ KoPm6acE5vp780juoljmFZwD7VDtVwjFQ9Z3nGN9NAR/96dqJbhwphezV9E/s9oNUYMz AarvWKzFEDI+gB+0J36Vr1fjZsrHWAmY828GRCfMr189JokW+RzED8C5R01VkD5lqkQa gC+Q== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=mZP/0iYmD/H54p8CqHE4Y7J8ed0tbv+i/HVHsWZbrMk=; b=FGC/TbWgVn67CiWWhYGNP6WZ68tXzX3RmX1RWrqNXwMDg7w9DVC3W93nkcldD7+ECV g8jRmX3Pn4gmCKvPJ1KHwbUlqWTgydsyaCeeNt+X8gwLYwSiElse2G4jKpq9MQThnwv3 rfC/22tS5C555meYRYD+/6k5qrY9rRlCbz9o26TwF0iWiooTmLrqCmF/oyFWg3STHqFq k7zatuY2vZKFdZWPLnAWG/H0KG5LUXxMnzyXxQtwum0NRv9+wYa6zJP8ShespMq2PDIa CF/3rw8jClfIAi/nH4bG1Ecrpmg1odPRE+wytBY3H9Kf9l5TOx/6IWmF4+FsFJZtRVHj JE+Q== 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 k11si660555edx.311.2020.04.20.07.20.19; Mon, 20 Apr 2020 07:20:43 -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 S1729298AbgDTMsl (ORCPT + 99 others); Mon, 20 Apr 2020 08:48:41 -0400 Received: from mail-pf1-f195.google.com ([209.85.210.195]:39861 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729274AbgDTMsf (ORCPT ); Mon, 20 Apr 2020 08:48:35 -0400 Received: by mail-pf1-f195.google.com with SMTP id 18so1244373pfx.6; Mon, 20 Apr 2020 05:48:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mZP/0iYmD/H54p8CqHE4Y7J8ed0tbv+i/HVHsWZbrMk=; b=iaxux+3PSCXp10dZI3+AdV9cTAZ2NlYpakrt+LWoFTtsBOqiTBDoR3UjVIks8IFuGk OQAc43VnqlzOfsLNAa3eN/ft2MuNfj20tOtWC+IB/LtELuWlw+A+sQ0Yw9cKHdafCINj vRWpC/LE9M4jkbLvnP4R8CS19Z1rJq1PNlK4LEBxidU2+f1ecwUNgoOKRqnmdVV74JbT qEmeyDJxP+m7ZAPCz3Lq++XRgaSl2uM0Q064Cxws2zlV9MSWmj+b05U4UD2UTd8S6og4 4NE25yXf3psH9lL5GPslyTpmNLCsOYKIYMHX1bMc3P4UIIZ7QBZn786IiGHk5A2Sl4p9 XXIw== X-Gm-Message-State: AGi0PuY2tp+mUUXm5Mi4/vu5CQTAMy7GS1LMe4wXXmhYKHark1l13VY3 vATRw0K1oQuNu0kzWlPf4lh76ZM3 X-Received: by 2002:a63:a362:: with SMTP id v34mr15923320pgn.198.1587386914648; Mon, 20 Apr 2020 05:48:34 -0700 (PDT) Received: from [100.124.9.192] ([104.129.199.3]) by smtp.gmail.com with ESMTPSA id t126sm1056573pfb.29.2020.04.20.05.48.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Apr 2020 05:48:33 -0700 (PDT) Subject: Re: [PATCH] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget To: John Garry , axboe@kernel.dk Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ming.lei@redhat.com References: <1587035931-125028-1-git-send-email-john.garry@huawei.com> <663d472a-5bde-4b89-3137-c7bfdf4d7b97@huawei.com> From: Bart Van Assche Message-ID: <287efbca-b8ca-1aa8-484f-a98e5205592c@acm.org> Date: Mon, 20 Apr 2020 05:48:32 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <663d472a-5bde-4b89-3137-c7bfdf4d7b97@huawei.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/20/20 1:22 AM, John Garry wrote: > On 18/04/2020 03:43, Bart Van Assche wrote: >> On 2020-04-16 04:18, John Garry wrote: >>> 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)) { >>>               /* >> >> Is this something that can only happen if q->mq_ops->queue_rq(hctx, &bd) >> returns another value than BLK_STS_OK, BLK_STS_RESOURCE and >> BLK_STS_DEV_RESOURCE? > > Right, as that case is handled in blk_mq_handle_dev_resource() > > If so, please add a comment in the source code >> that explains this. > > So important that we should now do this in an extra patch? Probably not, unless someone else feels strongly about this. Thanks, Bart.