From patchwork Tue Jan 17 07:08:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 44525 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1597238wrn; Mon, 16 Jan 2023 22:45:22 -0800 (PST) X-Google-Smtp-Source: AMrXdXvOU668p9o9D1VOTKLH8ziIk9LccG4L+96z6wYjSsvT+WtfdCdCSc8uw+jE5ZUvDZSUq0JE X-Received: by 2002:a17:906:26d6:b0:7c9:6e0e:1427 with SMTP id u22-20020a17090626d600b007c96e0e1427mr15357784ejc.6.1673937921968; Mon, 16 Jan 2023 22:45:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673937921; cv=none; d=google.com; s=arc-20160816; b=imklJlyfJm92wkHswo/8NJpDIUYyhLGNXMahPuVGfzXTTFHno1ZXL7HTc5rU8PFDUX RLWaf+WzvJGQeffgv4tVJWbDUF6llWFXepge2ahn0qH7zWarv156e3b0H4/gddlkmw/D i7ty1mVj+GuVjq8W6rUeRJ9DDv4wyoQFVz1HY7cXX1dTUWCM8HdxMK4w3geUvZ56KbxS tS4YFl0MHCxWYM3E1s+wou7QidTq2NsbUOVTfr/dRSKRnk6Co+KcqPjGyHG4jTBYiFrR y0kag/Hw6v7m4JjfJb+9AM0ppSgQknlw0SYN+KGmVi/jHqinwOnjMmySndu+7k+cD2nD 34mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=o2oWqeddCjEdevg3cVQf4qjGeP2WUzy6ujUQ3VHU/9c=; b=SD7u0nomvREwQgzMhhX0O0sU5XRw7iMJQjW1ZjJcrKZD25D26n56iXSEkOCvxPvrz+ bIF4ul+TTVs/zgb7qY4AWutln0BWeXYnN2YZHaRft4PluftFGJo84nRvHyJW/JcTCL+e 6x7pRvZTLs/TMxhV7jo2WBENGYcLmUZR3t6FrAkHwtsdXRUw0PkJ0515cA2sknRaZXM8 LNVoSjmRIgbyviQc5IzFH2+hnEbhcBDeIsZqk8liOB9fvIbtUSGQK5BqSijNathRntvO 436x3C2YTaN/DVgKOlstq2O0+NQE5/ToHJkGyhKY7v/wZC6LdCuNyuYxBZk1kB7sMyD8 rOag== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gn28-20020a1709070d1c00b0086689c8fae9si2536712ejc.829.2023.01.16.22.44.58; Mon, 16 Jan 2023 22:45:21 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235477AbjAQGoD (ORCPT + 99 others); Tue, 17 Jan 2023 01:44:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235589AbjAQGnz (ORCPT ); Tue, 17 Jan 2023 01:43:55 -0500 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D2D91DB94; Mon, 16 Jan 2023 22:43:54 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr31HVFz4f3p1B; Tue, 17 Jan 2023 14:43:47 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S5; Tue, 17 Jan 2023 14:43:49 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 1/5] blk-iocost: check return value of match_u64() Date: Tue, 17 Jan 2023 15:08:02 +0800 Message-Id: <20230117070806.3857142-2-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S5 X-Coremail-Antispam: 1UD129KBjvdXoW7GF4kXr15AryDtw4DXw4ruFg_yoW3Xrb_AF Z7Wa4fZFn7Ga95Z3WkCF1avrWIkws5JFWj9348try5X3W3XFn8Aw47Xr1jqa15WFy8K34r AFZrZr4Dtr1IgjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb6AFF20E14v26ryj6rWUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUGwA2048vs2IY02 0Ec7CjxVAFwI0_JFI_Gr1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv wVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbec_DUUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755251130118651890?= X-GMAIL-MSGID: =?utf-8?q?1755251130118651890?= From: Yu Kuai This patch fixs that the return value of match_u64() from ioc_qos_write() is not checked, Signed-off-by: Yu Kuai Acked-by: Tejun Heo --- block/blk-iocost.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index 6955605629e4..f1166582fb64 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3212,7 +3212,8 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input, switch (match_token(p, qos_ctrl_tokens, args)) { case QOS_ENABLE: - match_u64(&args[0], &v); + if (match_u64(&args[0], &v)) + goto einval; enable = v; continue; case QOS_CTRL: From patchwork Tue Jan 17 07:08:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 44524 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1597094wrn; Mon, 16 Jan 2023 22:44:43 -0800 (PST) X-Google-Smtp-Source: AMrXdXt8YMqGyFrgiK215gk5QXKg8V7cU7mEFkuicE0D13nCGYq0UjhOOZHqnIWNOyYJn31nCmw6 X-Received: by 2002:a17:906:c18f:b0:7f7:a4ed:f2d4 with SMTP id g15-20020a170906c18f00b007f7a4edf2d4mr15624442ejz.77.1673937883506; Mon, 16 Jan 2023 22:44:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673937883; cv=none; d=google.com; s=arc-20160816; b=wWRtef+dRVhWtu5IclGDjICieqTw8Dl+jzdslYU0M4auvVtq+7h89wrAOU2x5ntMO4 v7WnMM+gfwxpaRlI2p8uGEk4ksnMKkvprxB1V9lCarCTzUOdq6j8HP0jGYd6G+7XbLM2 6h4q67nWz4j1zZV8OJS5hD4ZphO4p6ARB4nuQD1vlX2yI7QJ0KOzqGUHPROnozIfbi1D KMUxb+KtdlDG2PT+/3fohuoFoOnuzw4jJtuX3ACrwLV1TsZW4G2dJh/9idS/IzAVSJ3A jVcFAAMxSifLVqYXE80JNLm+PWpjT4TMRdN0CQ0XRGCa3km5yH/2Uk5cBjJ8voQxfL8m QQZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=G2fBc718CHJqRaXuAFayCeSyiKLl71ld+Up7B7TRtpA=; b=wXc/P1sm+H25E3NZ0q9614cBBuE1iCh/Al7egrGVFcb47noqe1vlqWXni23xOl73Du cxaOkJRgR3Y0iuL+CT7AdHE3w/nY0EFl/XVykG5ik00AOWulO9mA9aQ2EEPTx/560yPB tFByeI9VwKq1eyQ0Su0RCdBP+SFIT+weC2EKnbieEJi2tbjSu69b2zr7l/yQiE7Me4DZ Odx3fa61Kzf/VML9nFiImcemTHhy7+6/pEhyIv3amNIYUp4lu4qO9c7RdfrkqnNilC6S dxQ2tlOyermE2lLcLrIupI/EGMaSvoO4CB1A60WIHN+YPZ3DSTe7xiaRpmPynuW2HxyW 3cUg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he34-20020a1709073da200b0087028d25e14si7784070ejc.565.2023.01.16.22.44.19; Mon, 16 Jan 2023 22:44:43 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235699AbjAQGn6 (ORCPT + 99 others); Tue, 17 Jan 2023 01:43:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235612AbjAQGnz (ORCPT ); Tue, 17 Jan 2023 01:43:55 -0500 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FF0B1DB8E; Mon, 16 Jan 2023 22:43:54 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr34R1pz4f3p1n; Tue, 17 Jan 2023 14:43:47 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S6; Tue, 17 Jan 2023 14:43:50 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 2/5] blk-iocost: don't allow to configure bio based device Date: Tue, 17 Jan 2023 15:08:03 +0800 Message-Id: <20230117070806.3857142-3-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S6 X-Coremail-Antispam: 1UD129KBjvdXoWrKryxur13Zr1rCr4xJw1fWFg_yoWkAwb_Ca yIgr90gFs5Gay8WF1fAF90vrWfKw4FqFW0vFW7JasxJFn8Xas0yan3Xr18tr45uFWj9a45 Ca9rWw1DJFs7WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb6AFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUXwA2048vs2IY02 0Ec7CjxVAFwI0_Gr0_Xr1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv wVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUjYiiDUUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755251090084882426?= X-GMAIL-MSGID: =?utf-8?q?1755251090084882426?= From: Yu Kuai iocost is based on rq_qos, which can only work for request based device, thus it doesn't make sense to configure iocost for bio based device. Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig Acked-by: Tejun Heo --- block/blk-iocost.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index f1166582fb64..d6256731cae4 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3185,6 +3185,11 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input, return PTR_ERR(bdev); disk = bdev->bd_disk; + if (!queue_is_mq(disk->queue)) { + ret = -EOPNOTSUPP; + goto err; + } + ioc = q_to_ioc(disk->queue); if (!ioc) { ret = blk_iocost_init(disk); @@ -3365,6 +3370,11 @@ static ssize_t ioc_cost_model_write(struct kernfs_open_file *of, char *input, return PTR_ERR(bdev); q = bdev_get_queue(bdev); + if (!queue_is_mq(q)) { + ret = -EOPNOTSUPP; + goto err; + } + ioc = q_to_ioc(q); if (!ioc) { ret = blk_iocost_init(bdev->bd_disk); From patchwork Tue Jan 17 07:08:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 44527 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1597763wrn; Mon, 16 Jan 2023 22:46:52 -0800 (PST) X-Google-Smtp-Source: AMrXdXtJPtzRPtBP2BvGNA4FDNchscxwT0iLgOziCk+QsHwWsmoaD+5OFGW1PLQUbS51ufoQdCBp X-Received: by 2002:aa7:c603:0:b0:46b:203:f388 with SMTP id h3-20020aa7c603000000b0046b0203f388mr12624318edq.39.1673938012787; Mon, 16 Jan 2023 22:46:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673938012; cv=none; d=google.com; s=arc-20160816; b=lX3FiJ58tl/y6pd9WEZ/hahEAylb2F8QAjH0/lCoKM8xdpIEtpPbJdJi9Vf1sUiswW /OmowH036s5wecDBHvQXzFK/SWu1yhNz3jssGi3QIuH+iVpHeNExQFhLjMPXH2w6KvnO TmQd+1pEIX1MaptvDNYg0Swcml14bjWDYwi5/DZ98qxh67WwPk0ehq/ulR8h42OwT31n 7m6t1uk6r/B97YqADpkvT8Df1+w52C0Sk3ubamiZ0IW00tvGM5kgXa6UOC1e+cdEYTsM ZvUNc0CREeBlBrzbAM4khgUsMKlyizbHK7QqIXIzAfEwVXQx604om2My1sph5pi0jU/u pFOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=J1oCM9E7Gjn67ZD8MNx6YY7azVHzegVKF2hsB1MVDaQ=; b=h7DZOrwt2Qz+hLKk2OMBhJkYpl2yoYZL1OyaEH6XRoeC980Zhw3yg9ln3GO1VOnywt b8YWbjQe0J+eF9KuklT1QZ2gD4Vs45o+oVa8q6MGQz/AJfFkzAQfEQL/VeBeuLE6JgxT Wq3udAaOkJwwPpX+X8pzl74VLK3ue2j0rOOo5n64dKOMpmEV8HkKN00VHc8qZ5IixdUl 3dRN7wuD0Y1/mLpQQZiq7SAoMvJteuGzR6dFDQbEroFD879T61HxvqeNqgvzYHCFH6NW 7kXyNnwI5YZn0iZTgXqPVUPzlGiebHVNL664UbjE3YJqR90LldeeYy7dgFqvsoEHV9kv fLdg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by8-20020a0564021b0800b0049d0890542fsi11128004edb.364.2023.01.16.22.46.29; Mon, 16 Jan 2023 22:46:52 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235741AbjAQGoG (ORCPT + 99 others); Tue, 17 Jan 2023 01:44:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235670AbjAQGn5 (ORCPT ); Tue, 17 Jan 2023 01:43:57 -0500 Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3716E1DB8E; Mon, 16 Jan 2023 22:43:56 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr40zfGz4f3nZ8; Tue, 17 Jan 2023 14:43:48 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S7; Tue, 17 Jan 2023 14:43:50 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 3/5] blk-iocost: read params inside lock in sysfs apis Date: Tue, 17 Jan 2023 15:08:04 +0800 Message-Id: <20230117070806.3857142-4-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S7 X-Coremail-Antispam: 1UD129KBjvJXoW7Zr4UGr18JrWkKryUCF4DJwb_yoW8WryfpF WYg397K3yFvr1xGFsxtF40q3Z5Wa1qqr4fXr47CryfAryaqr12qFsrCr40vw48ZFWxu398 WFWagrW8Ar15C37anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBE14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS 0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2 IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0 Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2 xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v2 6r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2 Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_ Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMI IF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUd8n5UUUUU = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, MAY_BE_FORGED,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755251225696249171?= X-GMAIL-MSGID: =?utf-8?q?1755251225696249171?= From: Yu Kuai Otherwise, user might get abnormal values if params is updated concurrently. Signed-off-by: Yu Kuai Acked-by: Tejun Heo --- block/blk-iocost.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index d6256731cae4..d6f692d2283c 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3129,6 +3129,7 @@ static u64 ioc_qos_prfill(struct seq_file *sf, struct blkg_policy_data *pd, if (!dname) return 0; + spin_lock_irq(&ioc->lock); seq_printf(sf, "%s enable=%d ctrl=%s rpct=%u.%02u rlat=%u wpct=%u.%02u wlat=%u min=%u.%02u max=%u.%02u\n", dname, ioc->enabled, ioc->user_qos_params ? "user" : "auto", ioc->params.qos[QOS_RPPM] / 10000, @@ -3141,6 +3142,7 @@ static u64 ioc_qos_prfill(struct seq_file *sf, struct blkg_policy_data *pd, ioc->params.qos[QOS_MIN] % 10000 / 100, ioc->params.qos[QOS_MAX] / 10000, ioc->params.qos[QOS_MAX] % 10000 / 100); + spin_unlock_irq(&ioc->lock); return 0; } @@ -3320,12 +3322,14 @@ static u64 ioc_cost_model_prfill(struct seq_file *sf, if (!dname) return 0; + spin_lock_irq(&ioc->lock); seq_printf(sf, "%s ctrl=%s model=linear " "rbps=%llu rseqiops=%llu rrandiops=%llu " "wbps=%llu wseqiops=%llu wrandiops=%llu\n", dname, ioc->user_cost_model ? "user" : "auto", u[I_LCOEF_RBPS], u[I_LCOEF_RSEQIOPS], u[I_LCOEF_RRANDIOPS], u[I_LCOEF_WBPS], u[I_LCOEF_WSEQIOPS], u[I_LCOEF_WRANDIOPS]); + spin_unlock_irq(&ioc->lock); return 0; } From patchwork Tue Jan 17 07:08:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 44528 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1597771wrn; Mon, 16 Jan 2023 22:46:56 -0800 (PST) X-Google-Smtp-Source: AMrXdXsJ91l4lNIcEtP3skFPUDFspn53V7XbofCvTBbIlfxLfXxRGGe4J0ZEVYnAObdP01NkaTUC X-Received: by 2002:a17:906:1d51:b0:86e:acae:9852 with SMTP id o17-20020a1709061d5100b0086eacae9852mr1604156ejh.35.1673938016254; Mon, 16 Jan 2023 22:46:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673938016; cv=none; d=google.com; s=arc-20160816; b=JKipxHwCpFH/Q/qnVRyCCxBc337StB325ta7TEQ0MOMxWuER5n7/4vp/+FqvDlzDXX u1Q/9/G2IPiDdR4TJfQCa49e3dOPS++7upOFXiLhHxwtYt2QN0eT0L4V1YkCJfk5MI7F tCTuP4PJlJEJKeO2mOsQXJ8JMP5cyd7RDdpVh4aNh2aI5KqrqyNA6BnSRLi/yuez+Fre ZUJscU7fGkw/zsfj+9SzxFtsxeB3550ctwEzn7n1mKl7NAvHZ0RelYGx5sB/ANUEyT7c qVUYTuraeeON4O5J5oHC3usEzsI+fFZAbmvT7cbi+JJlXapnovpuni6XQFSFMKAISATo 360Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=hza6YrPVBlsp1Kd7/wqkqaSogoHdonGDBdMAckUxBU8=; b=JQX4SjKSHuAlBmC5p6jdm/zcZ+FTOUjgFQeiF1i+uTX8A+aLlVPz8nr2YOh81R02oE nKvhsziiO9ive/ikLmp3fJ9IP43RdA9KNIsXVpK1TjtMnpsOM6PZ+X8v7sVGVwJfM3Kk EfG1feOkge2gyv3ejO1jDK8iV2cg4zNWMwC6x2ItrwMoRBW8ieym4Gs1RH2s8ySFz72a q62j+rbKSicAgsYrHGj1flLZT5tZpOx4oQO8miLIxzUNrntT67EDQE+7UP503mptwPDt 0kTpGP/E/pKVNcmY5Htktm/Vshmhit48k1LULyjkNtde6Hpr6CF27OBIafO6wTU/6RdD 5GLQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ds1-20020a170907724100b0082372aef3absi32425002ejc.284.2023.01.16.22.46.32; Mon, 16 Jan 2023 22:46:56 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235797AbjAQGoR (ORCPT + 99 others); Tue, 17 Jan 2023 01:44:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235683AbjAQGn5 (ORCPT ); Tue, 17 Jan 2023 01:43:57 -0500 Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 206371E29B; Mon, 16 Jan 2023 22:43:55 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr44xxVz4f3wXx; Tue, 17 Jan 2023 14:43:48 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S8; Tue, 17 Jan 2023 14:43:51 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 4/5] blk-iocost: fix divide by 0 error in calc_lcoefs() Date: Tue, 17 Jan 2023 15:08:05 +0800 Message-Id: <20230117070806.3857142-5-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S8 X-Coremail-Antispam: 1UD129KBjvJXoW7Ar48AF47Kry5Zr1kKryUJrb_yoW8Ww18pF yfuw1Uur1agrnrAFWxtF1IqFyrZFsFqF18X3Z7Ars8uFy7JwnxK3Wq9r1jgrWkAFWfJFWF vayIyFy5Wa4Yk37anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUPY14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2 z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F 4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq 3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7 IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2 kIc2xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E 14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIx kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAF wI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r 4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUQSdkU UUUU= X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, MAY_BE_FORGED,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755251229068875468?= X-GMAIL-MSGID: =?utf-8?q?1755251229068875468?= From: Li Nan echo max of u64 to cost.model can cause divide by 0 error. # echo 8:0 rbps=18446744073709551615 > /sys/fs/cgroup/io.cost.model divide error: 0000 [#1] PREEMPT SMP RIP: 0010:calc_lcoefs+0x4c/0xc0 Call Trace: ioc_refresh_params+0x2b3/0x4f0 ioc_cost_model_write+0x3cb/0x4c0 ? _copy_from_iter+0x6d/0x6c0 ? kernfs_fop_write_iter+0xfc/0x270 cgroup_file_write+0xa0/0x200 kernfs_fop_write_iter+0x17d/0x270 vfs_write+0x414/0x620 ksys_write+0x73/0x160 __x64_sys_write+0x1e/0x30 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd calc_lcoefs() uses the input value of cost.model in DIV_ROUND_UP_ULL, overflow would happen if bps plus IOC_PAGE_SIZE is greater than ULLONG_MAX, it can cause divide by 0 error. Fix the problem by setting basecost Signed-off-by: Li Nan Signed-off-by: Yu Kuai Acked-by: Tejun Heo --- block/blk-iocost.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index d6f692d2283c..4cac0e7bb7cc 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -866,9 +866,14 @@ static void calc_lcoefs(u64 bps, u64 seqiops, u64 randiops, *page = *seqio = *randio = 0; - if (bps) - *page = DIV64_U64_ROUND_UP(VTIME_PER_SEC, - DIV_ROUND_UP_ULL(bps, IOC_PAGE_SIZE)); + if (bps) { + u64 bps_pages = DIV_ROUND_UP_ULL(bps, IOC_PAGE_SIZE); + + if (bps_pages) + *page = DIV64_U64_ROUND_UP(VTIME_PER_SEC, bps_pages); + else + *page = 1; + } if (seqiops) { v = DIV64_U64_ROUND_UP(VTIME_PER_SEC, seqiops); From patchwork Tue Jan 17 07:08:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 44526 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1597298wrn; Mon, 16 Jan 2023 22:45:36 -0800 (PST) X-Google-Smtp-Source: AMrXdXsLBjO9ibTzHwYBIyP/DqWWtAmUKvlUc3BwPMXyL6wc7CUy9EH7VOoPtsNAxlUQIqR60DuS X-Received: by 2002:a17:906:583:b0:7c1:65f5:7b95 with SMTP id 3-20020a170906058300b007c165f57b95mr1874010ejn.26.1673937936484; Mon, 16 Jan 2023 22:45:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673937936; cv=none; d=google.com; s=arc-20160816; b=YybPJuht+xtSoBXKfeG5BZWmAEug7sr8g/1RtysWvcEuUgsvnOQrS/9IhdaQH9+UXC p/MYF6M2tR3F9LNYr7LLQEQ4j0goulBUKPf+vIqXD580YO5td9Bbyg+zOo8p+6jekb0U BWNgAMKLXsu9sycKuMR0qYI2hxODpEutCLpfRs/ut4SxY0d3X/YUXXHbkWinCl5syCjR C3v8j4CXnYmzj2FqqALYqXOrfEM8B477hWGdfYQ91mC5dOfXgZOgrwvCLjNF+HMNEcgB MbHoJDJ1Sun57Zti6Eatd/6f6InLHA44RuASdjIaUeEynE86/TN5Z6EDUadhSYM1+4g3 c3zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=6ra4EGaj6ID1SnCrkYODWpJnsJ2cusKgR7dalYa/8jU=; b=p3ESpmSrIzDd1FVXK6xFWbexCFg+aH7opLPR+aA8dDpppwEjgFCeLqhKvDiG6qnNl7 iKRR7D+J5kMoyM29/pTOxGDGp9NEiqY77CQWWkZLgeBl/JYTOswMg5RLSU35I9rWGb81 tsdaXmvQAAFFhXJNV/6UiPF8TNHNEffqPGV+0ZdTZKsNpA+RXPnlXEX6+x4zdWTwKoWp JeJyIe3b6Eqm9RkGAcC0rVg6+ss48wX+K+6X8t1wtEf8Alpn429e1ruW9rVa1OvCmy30 sjnIUcxbCdjQnl0h7/oXdULVkUFTgBDNjT40LDly8MDX8P16eYdY9T5Yt/czeuJ645ts k4yw== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ho41-20020a1709070ea900b0086d9b57a751si2830526ejc.270.2023.01.16.22.45.13; Mon, 16 Jan 2023 22:45:36 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235771AbjAQGoN (ORCPT + 99 others); Tue, 17 Jan 2023 01:44:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235679AbjAQGn5 (ORCPT ); Tue, 17 Jan 2023 01:43:57 -0500 Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A229B1EFD5; Mon, 16 Jan 2023 22:43:55 -0800 (PST) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Nwzr504ypz4f3nT6; Tue, 17 Jan 2023 14:43:49 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S9; Tue, 17 Jan 2023 14:43:51 +0800 (CST) From: Yu Kuai To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v4 5/5] blk-iocost: change div64_u64 to DIV64_U64_ROUND_UP in ioc_refresh_params() Date: Tue, 17 Jan 2023 15:08:06 +0800 Message-Id: <20230117070806.3857142-6-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230117070806.3857142-1-yukuai1@huaweicloud.com> References: <20230117070806.3857142-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgDX0R+jQ8ZjDSvYBg--.16287S9 X-Coremail-Antispam: 1UD129KBjvdXoWruw1DtF4DCw47Aw15WFyxAFb_yoWDAwb_ZF yftw1Iqr18AF17uFsYgFsIvrW29an8JFWDu3sxt3y5AFnxJFWkAan7K397ZrsxAFW5u3y5 tF1DWrs7Ars2qjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbDAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2 IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E F7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr 1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0D M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx v20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2 IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc4 0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK xVWxJVW8Jr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r 4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUQSdkU UUUU= X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, MAY_BE_FORGED,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755251145770718037?= X-GMAIL-MSGID: =?utf-8?q?1755251145770718037?= From: Li Nan vrate_min is calculated by DIV64_U64_ROUND_UP, but vrate_max is calculated by div64_u64. Vrate_min may be 1 greater than vrate_max if the input values min and max of cost.qos are equal. Signed-off-by: Li Nan Signed-off-by: Yu Kuai Acked-by: Tejun Heo --- block/blk-iocost.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/blk-iocost.c b/block/blk-iocost.c index 4cac0e7bb7cc..1f23480a7a01 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -931,8 +931,8 @@ static bool ioc_refresh_params(struct ioc *ioc, bool force) ioc->vrate_min = DIV64_U64_ROUND_UP((u64)ioc->params.qos[QOS_MIN] * VTIME_PER_USEC, MILLION); - ioc->vrate_max = div64_u64((u64)ioc->params.qos[QOS_MAX] * - VTIME_PER_USEC, MILLION); + ioc->vrate_max = DIV64_U64_ROUND_UP((u64)ioc->params.qos[QOS_MAX] * + VTIME_PER_USEC, MILLION); return true; }