From: brookxu <brookxu.cn@gmail.com> To: paolo.valente@linaro.org, axboe@kernel.dk, tj@kernel.org Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/8] bfq: optimize the calculation of bfq_weight_to_ioprio() Date: Tue, 20 Apr 2021 19:20:23 +0800 [thread overview] Message-ID: <d824bd955851ea5cb5af54b6b901045f058207b2.1618916839.git.brookxu@tencent.com> (raw) In-Reply-To: <cover.1618916839.git.brookxu@tencent.com> In-Reply-To: <cover.1618916839.git.brookxu@tencent.com> From: Chunguang Xu <brookxu@tencent.com> The value range of ioprio is [0, 7], but the result of bfq_weight_to_ioprio() may exceed this range, so simple optimization is required. Signed-off-by: Chunguang Xu <brookxu@tencent.com> --- block/bfq-wf2q.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c index 619ed21..ea5b90d 100644 --- a/block/bfq-wf2q.c +++ b/block/bfq-wf2q.c @@ -527,8 +527,9 @@ unsigned short bfq_ioprio_to_weight(int ioprio) */ static unsigned short bfq_weight_to_ioprio(int weight) { - return max_t(int, 0, - IOPRIO_BE_NR * BFQ_WEIGHT_CONVERSION_COEFF - weight); + int ioprio = IOPRIO_BE_NR - weight / BFQ_WEIGHT_CONVERSION_COEFF; + + return ioprio < 0 ? 0 : min_t(int, ioprio, IOPRIO_BE_NR - 1); } static void bfq_get_entity(struct bfq_entity *entity) -- 1.8.3.1
WARNING: multiple messages have this Message-ID (diff)
From: brookxu <brookxu.cn@gmail.com> To: paolo.valente@linaro.org, axboe@kernel.dk Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RESEND PATCH 6/8] bfq: optimize the calculation of bfq_weight_to_ioprio() Date: Thu, 10 Jun 2021 15:22:35 +0800 [thread overview] Message-ID: <d824bd955851ea5cb5af54b6b901045f058207b2.1618916839.git.brookxu@tencent.com> (raw) Message-ID: <20210610072235.TcwN2nMpCtTpp1wh34mviKP_xpVox8LxGUMaTbTzJxQ@z> (raw) In-Reply-To: <1ce935f1bb10e0c7ecea7b79b826ff4cfc89acf0.1618916839.git.brookxu@tencent.com> In-Reply-To: <cover.1618916839.git.brookxu@tencent.com> From: Chunguang Xu <brookxu@tencent.com> The value range of ioprio is [0, 7], but the result of bfq_weight_to_ioprio() may exceed this range, so simple optimization is required. Signed-off-by: Chunguang Xu <brookxu@tencent.com> --- block/bfq-wf2q.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c index 619ed21..ea5b90d 100644 --- a/block/bfq-wf2q.c +++ b/block/bfq-wf2q.c @@ -527,8 +527,9 @@ unsigned short bfq_ioprio_to_weight(int ioprio) */ static unsigned short bfq_weight_to_ioprio(int weight) { - return max_t(int, 0, - IOPRIO_BE_NR * BFQ_WEIGHT_CONVERSION_COEFF - weight); + int ioprio = IOPRIO_BE_NR - weight / BFQ_WEIGHT_CONVERSION_COEFF; + + return ioprio < 0 ? 0 : min_t(int, ioprio, IOPRIO_BE_NR - 1); } static void bfq_get_entity(struct bfq_entity *entity) -- 1.8.3.1
next prev parent reply other threads:[~2021-04-20 11:20 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-20 11:20 [PATCH 0/8] bfq: misc updates brookxu 2021-04-20 11:20 ` [PATCH 1/8] bfq: introduce bfq_entity_to_bfqg helper method brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-06-10 8:31 ` Oleksandr Natalenko 2021-06-10 9:05 ` brookxu 2021-06-10 9:18 ` Piotr Górski 2021-04-20 11:20 ` [PATCH 2/8] bfq: convert the type of bfq_group.bfqd to bfq_data* brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-04-20 11:20 ` [PATCH 3/8] bfq: limit the IO depth of CLASS_IDLE to 1 brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-04-20 11:20 ` [PATCH 4/8] bfq: keep the minimun bandwidth for CLASS_BE brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-04-20 11:20 ` [PATCH 5/8] bfq: remove unnecessary initialization logic brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-04-20 11:20 ` brookxu [this message] 2021-06-10 7:22 ` [RESEND PATCH 6/8] bfq: optimize the calculation of bfq_weight_to_ioprio() brookxu 2021-04-20 11:20 ` [PATCH 7/8] bfq: reset entity->prio_changed in bfq_init_entity() brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu 2021-04-20 11:20 ` [PATCH 8/8] bfq: remove unnecessary BFQ_DEFAULT_GRP_IOPRIO brookxu 2021-06-10 7:22 ` [RESEND PATCH " brookxu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d824bd955851ea5cb5af54b6b901045f058207b2.1618916839.git.brookxu@tencent.com \ --to=brookxu.cn@gmail.com \ --cc=axboe@kernel.dk \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=paolo.valente@linaro.org \ --cc=tj@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).