* [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
@ 2024-08-19 11:48 Jing Zhang
2024-08-19 12:25 ` Shuai Xue
2024-08-20 9:18 ` Mark Rutland
0 siblings, 2 replies; 7+ messages in thread
From: Jing Zhang @ 2024-08-19 11:48 UTC (permalink / raw)
To: linux-kernel, linux-arm-kernel, Mark Rutland, Will Deacon,
Shuai Xue
The alibaba_uncore_pmu driver forgot to clear all interrupt status
in the interrupt processing function. After the PMU counter overflow
interrupt occurred, an interrupt storm occurred, causing the system
to hang.
Therefore, clear the correct interrupt status in the interrupt handling
function to fix it.
Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
---
drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
index 38a2947..c6ff1bc 100644
--- a/drivers/perf/alibaba_uncore_drw_pmu.c
+++ b/drivers/perf/alibaba_uncore_drw_pmu.c
@@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
}
/* clear common counter intr status */
- clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
+ clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
writel(clr_status,
drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-19 11:48 [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing Jing Zhang
@ 2024-08-19 12:25 ` Shuai Xue
2024-08-20 9:18 ` Mark Rutland
1 sibling, 0 replies; 7+ messages in thread
From: Shuai Xue @ 2024-08-19 12:25 UTC (permalink / raw)
To: Jing Zhang, linux-kernel, linux-arm-kernel, Mark Rutland,
Will Deacon
在 2024/8/19 19:48, Jing Zhang 写道:
> The alibaba_uncore_pmu driver forgot to clear all interrupt status
> in the interrupt processing function. After the PMU counter overflow
> interrupt occurred, an interrupt storm occurred, causing the system
> to hang.
>
> Therefore, clear the correct interrupt status in the interrupt handling
> function to fix it.
>
> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 38a2947..c6ff1bc 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
> }
>
> /* clear common counter intr status */
> - clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
> + clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
> writel(clr_status,
> drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
> }
Yes, it is a bug due to typo.
Thank you.
Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com>
Shuai
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-19 11:48 [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing Jing Zhang
2024-08-19 12:25 ` Shuai Xue
@ 2024-08-20 9:18 ` Mark Rutland
2024-08-21 2:20 ` Jing Zhang
1 sibling, 1 reply; 7+ messages in thread
From: Mark Rutland @ 2024-08-20 9:18 UTC (permalink / raw)
To: Jing Zhang; +Cc: linux-kernel, linux-arm-kernel, Will Deacon, Shuai Xue
On Mon, Aug 19, 2024 at 07:48:30PM +0800, Jing Zhang wrote:
> The alibaba_uncore_pmu driver forgot to clear all interrupt status
> in the interrupt processing function. After the PMU counter overflow
> interrupt occurred, an interrupt storm occurred, causing the system
> to hang.
>
> Therefore, clear the correct interrupt status in the interrupt handling
> function to fix it.
>
> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
Presumably this should have
Fixes: cf7b61073e4526ca ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
... right?
With that:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 38a2947..c6ff1bc 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
> }
>
> /* clear common counter intr status */
> - clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
> + clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
> writel(clr_status,
> drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
> }
> --
> 1.8.3.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-20 9:18 ` Mark Rutland
@ 2024-08-21 2:20 ` Jing Zhang
2024-08-22 3:33 ` [PATCH v2] " Jing Zhang
0 siblings, 1 reply; 7+ messages in thread
From: Jing Zhang @ 2024-08-21 2:20 UTC (permalink / raw)
To: Mark Rutland; +Cc: linux-kernel, linux-arm-kernel, Will Deacon, Shuai Xue
在 2024/8/20 下午5:18, Mark Rutland 写道:
> On Mon, Aug 19, 2024 at 07:48:30PM +0800, Jing Zhang wrote:
>> The alibaba_uncore_pmu driver forgot to clear all interrupt status
>> in the interrupt processing function. After the PMU counter overflow
>> interrupt occurred, an interrupt storm occurred, causing the system
>> to hang.
>>
>> Therefore, clear the correct interrupt status in the interrupt handling
>> function to fix it.
>>
>> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
>
> Presumably this should have
>
> Fixes: cf7b61073e4526ca ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
>
> ... right?
You are right, I forgot it.
>
> With that:
>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
>
> Mark.
>
>> ---
>> drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
>> index 38a2947..c6ff1bc 100644
>> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
>> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
>> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
>> }
>>
>> /* clear common counter intr status */
>> - clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
>> + clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
>> writel(clr_status,
>> drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
>> }
>> --
>> 1.8.3.1
>>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-21 2:20 ` Jing Zhang
@ 2024-08-22 3:33 ` Jing Zhang
2024-08-22 9:44 ` Mark Rutland
2024-08-23 17:02 ` Will Deacon
0 siblings, 2 replies; 7+ messages in thread
From: Jing Zhang @ 2024-08-22 3:33 UTC (permalink / raw)
To: linux-kernel, linux-arm-kernel, Mark Rutland, Will Deacon,
Shuai Xue
The alibaba_uncore_pmu driver forgot to clear all interrupt status
in the interrupt processing function. After the PMU counter overflow
interrupt occurred, an interrupt storm occurred, causing the system
to hang.
Therefore, clear the correct interrupt status in the interrupt handling
function to fix it.
Fixes: cf7b61073e45 ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
---
drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
index 38a2947..c6ff1bc 100644
--- a/drivers/perf/alibaba_uncore_drw_pmu.c
+++ b/drivers/perf/alibaba_uncore_drw_pmu.c
@@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
}
/* clear common counter intr status */
- clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
+ clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
writel(clr_status,
drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-22 3:33 ` [PATCH v2] " Jing Zhang
@ 2024-08-22 9:44 ` Mark Rutland
2024-08-23 17:02 ` Will Deacon
1 sibling, 0 replies; 7+ messages in thread
From: Mark Rutland @ 2024-08-22 9:44 UTC (permalink / raw)
To: Jing Zhang, Will Deacon; +Cc: linux-kernel, linux-arm-kernel, Shuai Xue
Will, are you happy to pick this up?
Mark.
On Thu, Aug 22, 2024 at 11:33:31AM +0800, Jing Zhang wrote:
> The alibaba_uncore_pmu driver forgot to clear all interrupt status
> in the interrupt processing function. After the PMU counter overflow
> interrupt occurred, an interrupt storm occurred, causing the system
> to hang.
>
> Therefore, clear the correct interrupt status in the interrupt handling
> function to fix it.
>
> Fixes: cf7b61073e45 ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
> Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 38a2947..c6ff1bc 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
> }
>
> /* clear common counter intr status */
> - clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
> + clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
> writel(clr_status,
> drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
> }
> --
> 1.8.3.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
2024-08-22 3:33 ` [PATCH v2] " Jing Zhang
2024-08-22 9:44 ` Mark Rutland
@ 2024-08-23 17:02 ` Will Deacon
1 sibling, 0 replies; 7+ messages in thread
From: Will Deacon @ 2024-08-23 17:02 UTC (permalink / raw)
To: linux-kernel, linux-arm-kernel, Mark Rutland, Shuai Xue,
Jing Zhang
Cc: catalin.marinas, kernel-team, Will Deacon
On Thu, 22 Aug 2024 11:33:31 +0800, Jing Zhang wrote:
> The alibaba_uncore_pmu driver forgot to clear all interrupt status
> in the interrupt processing function. After the PMU counter overflow
> interrupt occurred, an interrupt storm occurred, causing the system
> to hang.
>
> Therefore, clear the correct interrupt status in the interrupt handling
> function to fix it.
>
> [...]
Applied to will (for-next/perf), thanks!
[1/1] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
https://git.kernel.org/will/c/a3dd920977dc
Cheers,
--
Will
https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-08-23 17:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-19 11:48 [PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing Jing Zhang
2024-08-19 12:25 ` Shuai Xue
2024-08-20 9:18 ` Mark Rutland
2024-08-21 2:20 ` Jing Zhang
2024-08-22 3:33 ` [PATCH v2] " Jing Zhang
2024-08-22 9:44 ` Mark Rutland
2024-08-23 17:02 ` Will Deacon
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).