From: Chuan Liu <chuan.liu@amlogic.com>
To: Stephen Boyd <sboyd@kernel.org>,
Chuan Liu via B4 Relay <devnull+chuan.liu.amlogic.com@kernel.org>,
Michael Turquette <mturquette@baylibre.com>
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] clk: divider: improve the execution efficiency of determine_rate()
Date: Mon, 27 Oct 2025 16:47:02 +0800 [thread overview]
Message-ID: <803c98f4-a9a4-4b85-94d3-38bf2d1e6eac@amlogic.com> (raw)
In-Reply-To: <176144194442.3953.13998249458455926261@lazor>
Hi Stephen,
Thanks for your review.
On 10/26/2025 9:25 AM, Stephen Boyd wrote:
> [ EXTERNAL EMAIL ]
>
> Quoting Chuan Liu via B4 Relay (2025-10-21 03:12:31)
>> From: Chuan Liu <chuan.liu@amlogic.com>
>>
>> There is no need to evaluate further divider values once _is_best_div()
>> finds one that matches the target rate.
>>
>> Signed-off-by: Chuan Liu <chuan.liu@amlogic.com>
>> ---
>> drivers/clk/clk-divider.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c
>> index 2601b6155afb..b92c4f800fa9 100644
>> --- a/drivers/clk/clk-divider.c
>> +++ b/drivers/clk/clk-divider.c
>> @@ -339,6 +339,9 @@ static int clk_divider_bestdiv(struct clk_hw *hw, struct clk_hw *parent,
>> best = now;
>> *best_parent_rate = parent_rate;
>> }
>> +
>> + if (best == rate)
>> + break;
>
> This needs a comment. I'm not even sure if it is correct either, because
> the other exit from this loop happens if the parent rate can be
You're right. Sorry, I was mainly focusing on the number of
iterations in the for loop earlier and missed the fact that the
parent clock directly participates in the division without changing.
> unchanged. I don't think we have any KUnit tests for this file, so
> please add some tests that deal with this case explicitly (the parent
> rate being unchanged as the desirable part).
I'll take some time to get familiar with the principles and methods
of KUnit testing, and I'd be happy to help improve it.
>
> A general comment: these patches have no benefit described in the commit
> text. Do you see any performance improvement with this patch? I sorta
> doubt this really matters because the number of dividers are typically
> small. A single sentence commit text that only says there is no need
> doesn't convince me that any work has been put in to research why the
> code was written this way or even prove that making this change improves
> anything.
This patch came about because I noticed that the mux has a similar
logic:
- Even after finding a suitable clock source, it continues to iterate
through and calculate other sources (and even if a later source has
the same rate, it won't replace the current one).
From there, I went on to examine the divider logic, but I missed the
detail that the parent clock doesn't change in the divider. Sorry
that this unreasonable patch ended up taking up your time.
prev parent reply other threads:[~2025-10-27 8:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 10:12 [PATCH 0/2] clk: " Chuan Liu via B4 Relay
2025-10-21 10:12 ` [PATCH 1/2] clk: mux: " Chuan Liu via B4 Relay
2025-10-21 10:12 ` [PATCH 2/2] clk: divider: " Chuan Liu via B4 Relay
2025-10-26 1:25 ` Stephen Boyd
2025-10-27 8:47 ` Chuan Liu [this message]
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=803c98f4-a9a4-4b85-94d3-38bf2d1e6eac@amlogic.com \
--to=chuan.liu@amlogic.com \
--cc=devnull+chuan.liu.amlogic.com@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@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
all inboxes | Powered by JetHome®