Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7836712rwb; Wed, 23 Nov 2022 11:23:46 -0800 (PST) X-Google-Smtp-Source: AA0mqf7UKo+gbVxf2J/P8uUhr1KX4ixrEnCBAsH2YrFm2tz2TA1PavggMvqfGgrhDN++CglKadsg X-Received: by 2002:a17:902:d882:b0:187:3d00:7ca4 with SMTP id b2-20020a170902d88200b001873d007ca4mr10916087plz.135.1669231425856; Wed, 23 Nov 2022 11:23:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669231425; cv=none; d=google.com; s=arc-20160816; b=F2pp0TdQ/T4PXTHZbSCJW+0i5BL78qtGVBf0aXSL2QFKZ48yIivuyu/dlp/03ANV3G Kj8WaeMhks0hguF3+QWXWAZQvkdk4T8nPBYyOGe+lbEspUyZY66TH4KXGbI1gNdvcQ1X cwOOaOWdtUaf1QcrXV7WZb8rrZKkCzCk+NCiULQceypljTSo/Ih1NvkJn4aIpHFNWbmv tLOizxqM+IFTpafk45rsJKOSHfu8/PczKT36IuKxC3xCLlfqvXKCt+x7Sa0WLQ9DShBx i4wOlvNYXpwoFpnvKHhe8jYYL++4NISwk5ZIlIurEUdvEw0McfXKwcd2Lt7p1Ne8nPwq i13Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:sender:dkim-signature; bh=/+wiUlX+ZzbOJle7HnS1krIiCPjVF1I+A5cD8cm1XM8=; b=W3CfTCNjVa1zQxM8Xzu/dDcjWnwsu58MiyzyA5JWGJ33WAOfY13I878Uk8ek7ToCzI BPzZ8x6aX8f60ceQ59sIn3132/OyRSVHU3aCpoc/KZUBceIvAP5bRfU4Fs+hw6UkkVLV MF12PCYwlu6lkQrYUfDqt/oKrdyTgOF255xeqsseAVIc2ba9IcjVEB2+c8fiHEasJcQK HtUdMr/DFGYrM+33RW41ZHuIIIh9GGP+WljLLiUVhtX/U45lqFjfi1HVImt1Eu/sZEKk jmpy+H1b3VOEgq7L3yJNJFF28kT03mMAfKnlb1RzJDBY9cUv12OL2Ec6WmhZ+s7GzGIE XR8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=oZeeBnEe; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pc4-20020a17090b3b8400b00213ef843bdasi2320883pjb.64.2022.11.23.11.23.32; Wed, 23 Nov 2022 11:23:45 -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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=oZeeBnEe; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238764AbiKWST3 (ORCPT + 88 others); Wed, 23 Nov 2022 13:19:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239421AbiKWSTA (ORCPT ); Wed, 23 Nov 2022 13:19:00 -0500 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A8ACEE27; Wed, 23 Nov 2022 10:18:59 -0800 (PST) Received: by mail-pj1-x102f.google.com with SMTP id j10-20020a17090aeb0a00b00218dfce36e5so2230015pjz.1; Wed, 23 Nov 2022 10:18:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=/+wiUlX+ZzbOJle7HnS1krIiCPjVF1I+A5cD8cm1XM8=; b=oZeeBnEeGmvjRkvxpd5dd4v1+nkW1yLWhjB1DNJmqQKV0eIUzEyRNI9KXZBGZL4JO7 Vp9VbeF+D/aoQ5F2L2rjPMaGOqgiO5HjnnKWNF+YJx2R7+GsbiR4jal2MHBPE6eg+jBN wSFp9cv7IbUn5M+i38B6LfWvRvU5V0CvxcTXkubZwuVPzo+uS4c4JlyO0SlhL2zoydzQ t5dcixwsUZnz1vGaGwou5EWvGYvjK8brVFpBVEL8Mr15CRiXWX+H81iWY12EPefqUXpO 4tEYMm7piYEKqHN3IdOto/oo+KvUOXVUXPaMZw+0hzmtFoJZACW3lRySAU7EWmsi5KXB slgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/+wiUlX+ZzbOJle7HnS1krIiCPjVF1I+A5cD8cm1XM8=; b=mLH/iwIn8p/WsdbOKOTyUv5qBVYPR+FccX76A2fAsxlCfcWQZqVhAn/wrH5re4wQ4C iZ8IaAs+GWHgoZqPqR95jj+P4pEkXU9IHQs/EjkTQEbYZVCQyfmvjuLUOsACGLnJU2nv jq1R3twnay4awY8rPi57Ug5aDkh7Q1irHFayVaNJAlfeQW6LZjAgf4dZRUXdoQlUONwq jP/SioV0ZjvZvl0Wlt+4H7lLandAXdDIJzSsYYxS9lZhfFHKmi2sOp/uoauJJq62sajj HGb92Ip8/NqEz/08jDHraZgU7V29b9yUxXDkG1tbCV8X9+MYUy3OzF1/5sjJRRJ4a8Hl O6/g== X-Gm-Message-State: ANoB5pkGFbGbXbLj1nYGs4G5v6i2cWYX5MtRfn443xkiO+ld3WrNIdV7 J5iiFUMc7tB9yToHzfO9bo0= X-Received: by 2002:a17:902:c702:b0:189:4bde:53c1 with SMTP id p2-20020a170902c70200b001894bde53c1mr2799075plp.1.1669227538388; Wed, 23 Nov 2022 10:18:58 -0800 (PST) Received: from localhost (2603-800c-1a02-1bae-a7fa-157f-969a-4cde.res6.spectrum.com. [2603:800c:1a02:1bae:a7fa:157f:969a:4cde]) by smtp.gmail.com with ESMTPSA id 11-20020a17090a1a0b00b00218cd71781csm1706081pjk.51.2022.11.23.10.18.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Nov 2022 10:18:58 -0800 (PST) Sender: Tejun Heo Date: Wed, 23 Nov 2022 08:18:56 -1000 From: Tejun Heo To: Kemeng Shi Cc: josef@toxicpanda.com, axboe@kernel.dk, cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 04/11] blk-throttle: correct calculation of wait time in tg_may_dispatch Message-ID: References: <20221123060401.20392-1-shikemeng@huawei.com> <20221123060401.20392-5-shikemeng@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221123060401.20392-5-shikemeng@huawei.com> X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE, SPF_PASS autolearn=no 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 Wed, Nov 23, 2022 at 02:03:54PM +0800, Kemeng Shi wrote: > If bps and iops both reach limit, we always return bps wait time as > tg_within_iops_limit is after "tg_within_bps_limit(tg, bio, bps_limit) &&" > and will not be called if tg_within_bps_limit return true. Maybe it's obvious but it'd be better to explain "why" this change is being made. > @@ -939,8 +926,9 @@ static bool tg_may_dispatch(struct throtl_grp *tg, struct bio *bio, > jiffies + tg->td->throtl_slice); > } > > - if (tg_within_bps_limit(tg, bio, bps_limit, &bps_wait) && > - tg_within_iops_limit(tg, bio, iops_limit, &iops_wait)) { > + bps_wait = tg_within_bps_limit(tg, bio, bps_limit); > + iops_wait = tg_within_iops_limit(tg, bio, iops_limit); > + if (bps_wait + iops_wait == 0) { > if (wait) > *wait = 0; > return true; So, max_wait is supposed to be maximum in the whole traversal path in the tree, not just the max value in this tg, so after this, the code should be changed to sth like the following, right? max_wait = max(max, max(bps_wait, iops_wait)); Thanks. -- tejun