Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp402619rwi; Thu, 27 Oct 2022 02:56:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6y6ne8P74VgRx69fcw7crP1DwLDKuIf9PGYugRKGCYkSOiPNm/3K0XahiALjpczLxs8tnu X-Received: by 2002:a17:907:948f:b0:7a7:5fc8:909 with SMTP id dm15-20020a170907948f00b007a75fc80909mr19123501ejc.658.1666864555700; Thu, 27 Oct 2022 02:55:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666864555; cv=none; d=google.com; s=arc-20160816; b=bxndpyfIhA1hZLzlwmRCVbaLRymfeTRodKkWa5QmptVYGaTdzzbOP5GDMp3oImsXNf xstu87jdDwMF/G1LMeUUA7TOK8hbBaIoy9PSZCVPDgHQJNNyckm4rtNepPtJVfxpvLSK TDUJso5Rqtg1cD4GKaecnDG7VggxrEzrhz74hrGUNj7Il2cs2cZsfnCamoxN6WZEzNCl mzlEy1ondQlAuGS1dPOc95uF+dMFDqhq5d9LKCfT0ISsdXOLUENmm8NZlIYJxb+LaxbM TsaYDd/zAWNYGY92dk39n/hijy8DO8QTnUB3gNQ2+zLicFeMsMjtlyBxjSdqnDcLXcf2 FRVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=eiEhzOQNymQP2CPMBev+KmgmjZr7Zc7SdDwA/4Iy7Ds=; b=evw6RmPQLR702gFp42mXxOs0yKoDuiVxWk6tNdqPfbhoTQfBHJLA6AjrXwdx5rz1C8 Vt4R1j0M9hhbBlHO66qUuYFJ68vPCt8eMdXRhWL0PWmuNGKgJAJkYhm9QfBUkd151NXO zciIJ5Q4f2QEJHyzq+jg1PFlVyD21KwCz0OQi+RKQ1RmQ0TFUOKfBXK6wcg0Lx3T0kXt 53oSalj54vILc04UtNR6vmTgjelaTWcjwrq4ojgjtQcvfZTC9wmlktdPbfuRyX25IjTi S0XhD41MJrpWScaeK8ZYrdZUvjI3xIP0ZJrO0ki1B9WHnpDOP8U7ARbQWx+zX5Ilxmrn hbmA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y7-20020a056402270700b00459c73bd1c6si1328883edd.550.2022.10.27.02.55.28; Thu, 27 Oct 2022 02:55:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235229AbiJ0JJo (ORCPT + 99 others); Thu, 27 Oct 2022 05:09:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234728AbiJ0JJj (ORCPT ); Thu, 27 Oct 2022 05:09:39 -0400 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D191A617E; Thu, 27 Oct 2022 02:09:37 -0700 (PDT) Received: from fraeml706-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Myfvv6Mtmz67ZcT; Thu, 27 Oct 2022 17:07:39 +0800 (CST) Received: from lhrpeml500003.china.huawei.com (7.191.162.67) by fraeml706-chm.china.huawei.com (10.206.15.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.31; Thu, 27 Oct 2022 11:09:35 +0200 Received: from [10.195.32.169] (10.195.32.169) by lhrpeml500003.china.huawei.com (7.191.162.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 27 Oct 2022 10:09:34 +0100 Message-ID: Date: Thu, 27 Oct 2022 10:09:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [PATCH RFC v3 01/22] blk-mq: Don't get budget for reserved requests To: Damien Le Moal , , , , , , , , , CC: , , , , References: <1666693096-180008-1-git-send-email-john.garry@huawei.com> <1666693096-180008-2-git-send-email-john.garry@huawei.com> <9cd8aa6a-98be-ddba-db4e-07ed59b53f08@opensource.wdc.com> From: John Garry In-Reply-To: <9cd8aa6a-98be-ddba-db4e-07ed59b53f08@opensource.wdc.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.195.32.169] X-ClientProxiedBy: lhrpeml100003.china.huawei.com (7.191.160.210) To lhrpeml500003.china.huawei.com (7.191.162.67) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27/10/2022 02:16, Damien Le Moal wrote: >> Signed-off-by: John Garry >> --- >> block/blk-mq.c | 4 +++- >> drivers/scsi/scsi_lib.c | 3 ++- >> 2 files changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/block/blk-mq.c b/block/blk-mq.c >> index 260adeb2e455..d8baabb32ea4 100644 >> --- a/block/blk-mq.c >> +++ b/block/blk-mq.c >> @@ -1955,11 +1955,13 @@ bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list, >> errors = queued = 0; >> do { >> struct blk_mq_queue_data bd; >> + bool need_budget; >> >> rq = list_first_entry(list, struct request, queuelist); >> >> WARN_ON_ONCE(hctx != rq->mq_hctx); >> - prep = blk_mq_prep_dispatch_rq(rq, !nr_budgets); >> + need_budget = !nr_budgets && !blk_mq_is_reserved_rq(rq); >> + prep = blk_mq_prep_dispatch_rq(rq, need_budget); >> if (prep != PREP_DISPATCH_OK) >> break; > Below this code, there is: > > if (nr_budgets) > nr_budgets--; > > Don't you need to change that to: > > if (need_budget && nr_budgets) > nr_budgets--; > > ? Otherwise, the accounting will be off. > Ah, yes, I think that you are right. I actually need to check nr_budgets usage further as nr_budgets initial value would be dependent on any reserved request requiring a budget (which we don't get). Thanks, John