From: Tejun Heo <tj@kernel.org>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: axboe@kernel.dk, baolin.wang7@gmail.com,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/7] blk-iocost: Add a flag to indicate if need update hwi
Date: Wed, 25 Nov 2020 07:14:48 -0500 [thread overview]
Message-ID: <X75KuGR1MTovojZp@mtj.duckdns.org> (raw)
In-Reply-To: <beb9ab5875427431b58e1001e481b7a43e9188eb.1606186717.git.baolin.wang@linux.alibaba.com>
Hello,
On Tue, Nov 24, 2020 at 11:33:33AM +0800, Baolin Wang wrote:
> @@ -1445,7 +1447,8 @@ static void iocg_kick_waitq(struct ioc_gq *iocg, bool pay_debt,
> * after the above debt payment.
> */
> ctx.vbudget = vbudget;
> - current_hweight(iocg, NULL, &ctx.hw_inuse);
> + if (need_update_hwi)
> + current_hweight(iocg, NULL, &ctx.hw_inuse);
So, if you look at the implementation of current_hweight(), it's
1. If nothing has changed, read out the cached values.
2. If something has changed, recalculate.
and the "something changed" test is single memory read (most likely L1 hot
at this point) and testing for equality. IOW, the change you're suggesting
isn't much of an optimization. Maybe the compiler can do a somewhat better
job of arranging the code and it's a register load than memory load but
given that it's already a relatively cold wait path, this is unlikely to
make any actual difference. And that's how current_hweight() is meant to be
used.
So, I'm not sure this is an improvement. It increases complication without
actually gaining anything.
Thanks.
--
tejun
next prev parent reply other threads:[~2020-11-25 12:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-24 3:33 [PATCH 0/7] Some cleanups and improvements for blk-iocost Baolin Wang
2020-11-24 3:33 ` [PATCH 1/7] blk-iocost: Fix some typos in comments Baolin Wang
2020-11-25 11:30 ` Tejun Heo
2020-11-24 3:33 ` [PATCH 2/7] blk-iocost: Remove unnecessary advance declaration Baolin Wang
2020-11-25 11:31 ` Tejun Heo
2020-11-24 3:33 ` [PATCH 3/7] blk-iocost: Just open code the q_name() Baolin Wang
2020-11-25 11:33 ` Tejun Heo
2020-11-25 13:35 ` Baolin Wang
2020-11-24 3:33 ` [PATCH 4/7] blk-iocost: Add a flag to indicate if need update hwi Baolin Wang
2020-11-25 12:14 ` Tejun Heo [this message]
2020-11-25 14:15 ` Baolin Wang
2020-11-25 14:35 ` Tejun Heo
2020-11-24 3:33 ` [PATCH 5/7] blk-iocost: Move the usage ratio calculation to the correct place Baolin Wang
2020-11-25 12:19 ` Tejun Heo
2020-11-25 13:36 ` Baolin Wang
2020-11-24 3:33 ` [PATCH 6/7] blk-iocost: Factor out the active iocgs' state check into a separate function Baolin Wang
2020-11-25 12:25 ` Tejun Heo
2020-11-25 13:37 ` Baolin Wang
2020-11-24 3:33 ` [PATCH 7/7] blk-iocost: Factor out the base vrate change " Baolin Wang
2020-11-25 12:30 ` Tejun Heo
2020-11-25 13:43 ` Baolin Wang
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=X75KuGR1MTovojZp@mtj.duckdns.org \
--to=tj@kernel.org \
--cc=axboe@kernel.dk \
--cc=baolin.wang7@gmail.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.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: link
Be 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