Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp6921589rwb; Tue, 22 Nov 2022 22:37:04 -0800 (PST) X-Google-Smtp-Source: AA0mqf6QcnVlTz2eZQCr7QWH5jHSd7J3g18XuS1Mu9NIIJcTLHZnnSSeHJVXBbYllx4J5gfT5yRv X-Received: by 2002:a17:90a:460b:b0:218:8a84:aeca with SMTP id w11-20020a17090a460b00b002188a84aecamr23260602pjg.63.1669185424409; Tue, 22 Nov 2022 22:37:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669185424; cv=none; d=google.com; s=arc-20160816; b=ougIHBj9dYdC0w8WGMjlo/r+hwBVEfVlkzSIbOjjvSIZEj4QY0ksMhsDcUDreWhoLy m5yd6nLi0vHaKKGil5kktwACoDPgPwM8mquA/A9Px0JjrmZobOIjQyphmt66Upp69kkL ZygBUTVh4EOMr8Vd3FlSHt6SSXx5re5U/3k/v68epQu2zX6qWMQe5fknXRhYRjk0QNqC Q4an1DdQPmcvm3x0ruZROQXJBlLn9KE+mpUGc/ZOpYSZBQcOLzwTXOvUiNUB1W33f7Io +kTnG3/mQWMvTJwOjgLb+hMkP32j2SnUOumzRWL4o0QDVg9ih7sXadrettJmTF7SrQVX o0yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=unf+8vEd0DuM8K5XbysTkw1WQY21NqzNwh8U1+3iEno=; b=lQnAufTKCzR4yzBFJqMJhDZGLvCQLbE6BhH2hBBbooL8fmaQMOSgFPWq1X8HHX253b 2JpPpcvAqsHpaDVOjSloB909dDK/iVGX+B+Tkr4wbDUaiQZhlC88tKwfNe+pSpOQ7qOv FjZDgzkceMkwgwkkYGmIbBwf0LjB3d9pVum/Tgig2CMQMeaxFgbGddFg4gBY1e+bDJlN xeTcMqxxqXvBBQQ4Ae3xhbOF5vRtfxGuBC0E9DKSwP6r9AHwnXw2UghZx8+OEq+ZmfGO 4l3Rc2MqWRi8W+NqVk8PIBVn+FI8eBB3aA7W0Jm5NsPyC9gdV6zfTmXRLGDo6qpVA6kM XXcw== 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 g3-20020a056a0023c300b00574694c70e1si5312pfc.22.2022.11.22.22.36.52; Tue, 22 Nov 2022 22:37:04 -0800 (PST) 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 S235882AbiKWGE1 (ORCPT + 89 others); Wed, 23 Nov 2022 01:04:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235606AbiKWGEK (ORCPT ); Wed, 23 Nov 2022 01:04:10 -0500 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 42123F2C09; Tue, 22 Nov 2022 22:04:09 -0800 (PST) Received: from kwepemi500016.china.huawei.com (unknown [172.30.72.56]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4NH9Tv4b8SzJnrS; Wed, 23 Nov 2022 14:00:51 +0800 (CST) Received: from huawei.com (10.174.178.129) by kwepemi500016.china.huawei.com (7.221.188.220) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 23 Nov 2022 14:04:06 +0800 From: Kemeng Shi To: , , CC: , , , Subject: [PATCH 05/11] blk-throttle: simpfy low limit reached check in throtl_tg_can_upgrade Date: Wed, 23 Nov 2022 14:03:55 +0800 Message-ID: <20221123060401.20392-6-shikemeng@huawei.com> X-Mailer: git-send-email 2.14.1.windows.1 In-Reply-To: <20221123060401.20392-1-shikemeng@huawei.com> References: <20221123060401.20392-1-shikemeng@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.174.178.129] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemi500016.china.huawei.com (7.221.188.220) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, 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 Cgroup reaches low limit if limit is zero or io is already queued. Cgroup will pass upgrade check if low limits of READ and WRITE are both reached. Simpfy the check code described above to removce repeat check and improve readability. There is no functional change. Signed-off-by: Kemeng Shi --- block/blk-throttle.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/block/blk-throttle.c b/block/blk-throttle.c index 01e30380c19b..322a6ee38fb6 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -1800,24 +1800,22 @@ static bool throtl_tg_is_idle(struct throtl_grp *tg) return ret; } -static bool throtl_tg_can_upgrade(struct throtl_grp *tg) +static bool throtl_tg_reach_low_limit(struct throtl_grp *tg, int rw) { struct throtl_service_queue *sq = &tg->service_queue; - bool read_limit, write_limit; + bool limit = tg->bps[rw][LIMIT_LOW] || tg->iops[rw][LIMIT_LOW]; /* * if cgroup reaches low limit (if low limit is 0, the cgroup always * reaches), it's ok to upgrade to next limit */ - read_limit = tg->bps[READ][LIMIT_LOW] || tg->iops[READ][LIMIT_LOW]; - write_limit = tg->bps[WRITE][LIMIT_LOW] || tg->iops[WRITE][LIMIT_LOW]; - if (!read_limit && !write_limit) - return true; - if (read_limit && sq->nr_queued[READ] && - (!write_limit || sq->nr_queued[WRITE])) - return true; - if (write_limit && sq->nr_queued[WRITE] && - (!read_limit || sq->nr_queued[READ])) + return !limit || sq->nr_queued[rw]. +} + +static bool throtl_tg_can_upgrade(struct throtl_grp *tg) +{ + if (throtl_tg_reach_low_limit(tg, READ) && + throtl_tg_reach_low_limit(tg, WRITE)) return true; if (time_after_eq(jiffies, -- 2.30.0