[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bc57891b-f318-4c4c-bae4-52617d5643ef@quicinc.com>
Date: Mon, 24 Jun 2024 16:41:51 +0530
From: Shivnandan Kumar <quic_kshivnan@...cinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Konrad Dybcio
<konrad.dybcio@...aro.org>
CC: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Bjorn Andersson
<andersson@...nel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<quic_rgottimu@...cinc.com>
Subject: Re: [PATCH] soc: qcom: icc-bwmon: Add tracepoints in
bwmon_intr_thread
On 6/21/2024 2:06 AM, Dmitry Baryshkov wrote:
> On Thu, Jun 20, 2024 at 12:48:04PM GMT, Konrad Dybcio wrote:
>>
>>
>> On 6/20/24 10:55, Shivnandan Kumar wrote:
>>>
>>>
>>> On 6/20/2024 12:46 AM, Konrad Dybcio wrote:
>>>>
>>>>
>>>> On 6/19/24 15:51, Shivnandan Kumar wrote:
>>>>> Add tracepoint for tracing the measured traffic in kbps,
>>>>> up_kbps and down_kbps in bwmon. This information is valuable
>>>>> for understanding what bwmon hw measures at the system cache
>>>>> level and at the DDR level which is helpful in debugging
>>>>> bwmon behavior.
>>>>>
>>>>> Signed-off-by: Shivnandan Kumar <quic_kshivnan@...cinc.com>
>>>>> ---
>>>>> MAINTAINERS | 1 +
>>>>> drivers/soc/qcom/icc-bwmon.c | 7 +++--
>>>>> drivers/soc/qcom/trace_icc-bwmon.h | 49 ++++++++++++++++++++++++++++++
>>>>> 3 files changed, 55 insertions(+), 2 deletions(-)
>>>>> create mode 100644 drivers/soc/qcom/trace_icc-bwmon.h
>>>>>
>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>> index 242fc612fbc5..1b410c0183bb 100644
>>>>> --- a/MAINTAINERS
>>>>> +++ b/MAINTAINERS
>>>>> @@ -18573,6 +18573,7 @@ M: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
>>>>> L: linux-arm-msm@...r.kernel.org
>>>>> S: Maintained
>>>>> F: Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
>>>>> +F: drivers/soc/qcom/trace_icc-bwmon.h
>>>>> F: drivers/soc/qcom/icc-bwmon.c
>>>>>
>>>>> QUALCOMM IOMMU
>>>>> diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c
>>>>> index fb323b3364db..9b5ac1e62673 100644
>>>>> --- a/drivers/soc/qcom/icc-bwmon.c
>>>>> +++ b/drivers/soc/qcom/icc-bwmon.c
>>>>> @@ -17,6 +17,8 @@
>>>>> #include <linux/pm_opp.h>
>>>>> #include <linux/regmap.h>
>>>>> #include <linux/sizes.h>
>>>>> +#define CREATE_TRACE_POINTS
>>>>> +#include "trace_icc-bwmon.h"
>>>>>
>>>>> /*
>>>>> * The BWMON samples data throughput within 'sample_ms' time. With three
>>>>> @@ -645,9 +647,9 @@ static irqreturn_t bwmon_intr_thread(int irq, void *dev_id)
>>>>> struct icc_bwmon *bwmon = dev_id;
>>>>> unsigned int irq_enable = 0;
>>>>> struct dev_pm_opp *opp, *target_opp;
>>>>> - unsigned int bw_kbps, up_kbps, down_kbps;
>>>>> + unsigned int bw_kbps, up_kbps, down_kbps, meas_kbps;
>>>>>
>>>>> - bw_kbps = bwmon->target_kbps;
>>>>> + meas_kbps = bw_kbps = bwmon->target_kbps;
>>>>>
>>>>> target_opp = dev_pm_opp_find_bw_ceil(bwmon->dev, &bw_kbps, 0);
>>>>
>>>> This breaks bwmon, as dev_pm_opp_find_bw_ceil is now fed a random
>>>> (uninitialized variable) value
>>>>
>>>
>>> Thank you for reviewing the patch.
>>> I didn't get it, still the variable "bw_kbps" is being initialized along with "meas_kbps". Which variable are you referring to as being fed to dev_pm_opp_find_bw_ceil with an uninitialized value?
>>
>> Oh this one's on me, I skipped over the middle assignment.. Sorry!
>
> Still:
>
> CHECK: multiple assignments should be avoided
ack
> #57: FILE: drivers/soc/qcom/icc-bwmon.c:652:
> + meas_kbps = bw_kbps = bwmon->target_kbps;
>
> While we are at it:
>
> CHECK: Alignment should match open parenthesis
> #88: FILE: drivers/soc/qcom/trace_icc-bwmon.h:14:
> +TRACE_EVENT(qcom_bwmon_update,
> +
ack
>
> CHECK: Alignment should match open parenthesis
> #109: FILE: drivers/soc/qcom/trace_icc-bwmon.h:35:
> + TP_printk("name=%s meas_kbps=%u up_kbps=%u down_kbps=%u",
> + __get_str(name),
>
>
Thanks,
Shivnandan
Powered by blists - more mailing lists