[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <zywvspwty3be4eadssi6sylqkhgsioramuamvvoui5tfmml2i6@zsl2nuuos377>
Date: Fri, 5 Sep 2025 14:47:43 -0500
From: Bjorn Andersson <andersson@...nel.org>
To: Pushpendra Singh <quic_pussin@...cinc.com>
Cc: quic_bjorande@...cinc.com, krzysztof.kozlowski@...aro.org,
konradybcio@...nel.org, linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
quic_rgottimu@...cinc.com, Shivnandan Kumar <quic_kshivnan@...cinc.com>
Subject: Re: [PATCH V2] soc: qcom: icc-bwmon: Update zone1_thres_count to 3
On Fri, Sep 05, 2025 at 05:09:23PM +0530, Pushpendra Singh wrote:
> From: Shivnandan Kumar <quic_kshivnan@...cinc.com>
>
> Update zone1_thres_count to 3 from 16 so that
> driver can reduce bus vote in 3 sample windows instead
> of waiting for 16 windows.
>
Please start your commit message by describing the problem.
> The 16-window (64 ms) waiting time is too long to reduce the
> bus vote. At higher FPS, there will be multiple frames in 64ms
> e.g. 4 frames at 60FPS in 64ms. Hence, delay of 64ms in decision
> making will lead to higher power regression. We tested across
> multiple usecases, and observed significant power savings.
>
I asked in v1 what the tradeoff is here. Is lower number better in all
cases? What are we loosing by making it 3?
And why 3, why not 2 or 4, or 7?
I'm not saying that 3 is wrong, just saying that the commit message
needs to sufficiently explain why 3 is the "best" number.
Regards,
Bjorn
> USECASE zone1_thres_count=16 zone1_thres_count=3
> 4K video playback 236.15 mA 203.15 mA
> Sleep 7mA 6.9mA
> Display (dle display) 71.95mA 67.11mA
>
> Signed-off-by: Shivnandan Kumar <quic_kshivnan@...cinc.com>
> Signed-off-by: Pushpendra Singh <quic_pussin@...cinc.com>
> ---
> Changes in v2:
> -Update commit message
> -Link to v1:https://lore.kernel.org/lkml/463eb7c8-00fc-4441-91d1-6e48f6b052c8@quicinc.com
>
> drivers/soc/qcom/icc-bwmon.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c
> index 3dfa448bf8cf..a245a8b2cfef 100644
> --- a/drivers/soc/qcom/icc-bwmon.c
> +++ b/drivers/soc/qcom/icc-bwmon.c
> @@ -827,7 +827,7 @@ static const struct icc_bwmon_data msm8998_bwmon_data = {
> static const struct icc_bwmon_data sdm845_cpu_bwmon_data = {
> .sample_ms = 4,
> .count_unit_kb = 64,
> - .zone1_thres_count = 16,
> + .zone1_thres_count = 3,
> .zone3_thres_count = 1,
> .quirks = BWMON_HAS_GLOBAL_IRQ,
> .regmap_fields = sdm845_cpu_bwmon_reg_fields,
> @@ -846,7 +846,7 @@ static const struct icc_bwmon_data sdm845_llcc_bwmon_data = {
> static const struct icc_bwmon_data sc7280_llcc_bwmon_data = {
> .sample_ms = 4,
> .count_unit_kb = 64,
> - .zone1_thres_count = 16,
> + .zone1_thres_count = 3,
> .zone3_thres_count = 1,
> .quirks = BWMON_NEEDS_FORCE_CLEAR,
> .regmap_fields = sdm845_llcc_bwmon_reg_fields,
> --
> 2.34.1
>
Powered by blists - more mailing lists