There are some bugfix for the hisi perf driver
Hao Chen (2):
drivers/perf: hisi: hns3: default use hardware event 0 as group leader
event.
drivers/perf: hisi: fix set wrong filter mode for running events issue
drivers/perf/hisilicon/hns3_pmu.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--
2.30.0
From: Hao Chen <[email protected]>
hns3_pmu_select_filter_mode() includes a series of mode judgments such
as global mode ,function mode, function-queue mode, port mode, port-tc
mode.
For a special scenario, command use parameter "bdf=0x3700,config=0x3,
queue=0x0", it is expected to enter function-queue mode, but event of
config 0x3 doesn't support func-queue mode, then it enter port-tc mode.
it's not up to expectations.
It shouldn't enter any modes but return -ENOENT.
So, add judgement of bdf parameter to fix it.
Fixes: 66637ab137b4 ("drivers/perf: hisi: add driver for HNS3 PMU")
Signed-off-by: Hao Chen <[email protected]>
Signed-off-by: Jijie Shao <[email protected]>
---
drivers/perf/hisilicon/hns3_pmu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/perf/hisilicon/hns3_pmu.c b/drivers/perf/hisilicon/hns3_pmu.c
index 6a4d04cbae91..7f38a9e489d4 100644
--- a/drivers/perf/hisilicon/hns3_pmu.c
+++ b/drivers/perf/hisilicon/hns3_pmu.c
@@ -1000,12 +1000,13 @@ static bool
hns3_pmu_is_enabled_port_tc_mode(struct perf_event *event,
struct hns3_pmu_event_attr *pmu_event)
{
+ u16 bdf = hns3_pmu_get_bdf(event);
u8 tc_id = hns3_pmu_get_tc(event);
if (!(pmu_event->filter_support & HNS3_PMU_FILTER_SUPPORT_PORT_TC))
return false;
- return tc_id != HNS3_PMU_FILTER_ALL_TC;
+ return (tc_id != HNS3_PMU_FILTER_ALL_TC) && (!bdf);
}
static bool
--
2.30.0
[+Guangbin Huang and Shaokun Zhang]
On Wed, Aug 16, 2023 at 05:46:19PM +0800, Jijie Shao wrote:
> From: Hao Chen <[email protected]>
>
> hns3_pmu_select_filter_mode() includes a series of mode judgments such
> as global mode ,function mode, function-queue mode, port mode, port-tc
> mode.
>
> For a special scenario, command use parameter "bdf=0x3700,config=0x3,
> queue=0x0", it is expected to enter function-queue mode, but event of
> config 0x3 doesn't support func-queue mode, then it enter port-tc mode.
> it's not up to expectations.
>
> It shouldn't enter any modes but return -ENOENT.
>
> So, add judgement of bdf parameter to fix it.
>
> Fixes: 66637ab137b4 ("drivers/perf: hisi: add driver for HNS3 PMU")
> Signed-off-by: Hao Chen <[email protected]>
> Signed-off-by: Jijie Shao <[email protected]>
> ---
> drivers/perf/hisilicon/hns3_pmu.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/perf/hisilicon/hns3_pmu.c b/drivers/perf/hisilicon/hns3_pmu.c
> index 6a4d04cbae91..7f38a9e489d4 100644
> --- a/drivers/perf/hisilicon/hns3_pmu.c
> +++ b/drivers/perf/hisilicon/hns3_pmu.c
> @@ -1000,12 +1000,13 @@ static bool
> hns3_pmu_is_enabled_port_tc_mode(struct perf_event *event,
> struct hns3_pmu_event_attr *pmu_event)
> {
> + u16 bdf = hns3_pmu_get_bdf(event);
> u8 tc_id = hns3_pmu_get_tc(event);
>
> if (!(pmu_event->filter_support & HNS3_PMU_FILTER_SUPPORT_PORT_TC))
> return false;
>
> - return tc_id != HNS3_PMU_FILTER_ALL_TC;
> + return (tc_id != HNS3_PMU_FILTER_ALL_TC) && (!bdf);
> }
Sorry, but I'm struggling to see how this correlates with your example
in the commit message, which implies that it's the config of 0x3 causing
the problem rather than the bdf.
Please can you explain the problem in more detail?
Thanks,
Will
on 2023/8/21 20:08, Will Deacon wrote:
> <[email protected]>: host mx5.hisilicon.com[124.71.93.234] said: 551
> 5.1.1 <[email protected]>: Recipient address rejected: Failed
> recipient validation check.: host 127.0.0.1[127.0.0.1] said: 554 5.7.1
> recipient verify from ldap failed (in reply to RCPT TO command) (in reply
> to RCPT TO command)
>
> <[email protected]>: host mx5.huawei.com[124.71.93.234] said: 551 5.1.1
> <[email protected]>: Recipient address rejected: Failed recipient
> validation check.: host 127.0.0.1[127.0.0.1] said: 554 5.7.1 recipient
> verify from ldap failed (in reply to RCPT TO command) (in reply to RCPT TO
> command)
>
>
> So it's only Jonathan left in MAINTAINERS for "HISILICON HNS3 PMU DRIVER".
> Lucky him!
>
> Please can you update MAINTAINERS?
>
> Will
We will update MAINTAINERS shortly
Jijie Shao
on 2023/8/21 20:04, Will Deacon wrote:
>> - return tc_id != HNS3_PMU_FILTER_ALL_TC;
>> + return (tc_id != HNS3_PMU_FILTER_ALL_TC) && (!bdf);
>> }
> Sorry, but I'm struggling to see how this correlates with your example
> in the commit message, which implies that it's the config of 0x3 causing
> the problem rather than the bdf.
>
> Please can you explain the problem in more detail?
>
> Thanks,
>
> Will
We'll send the v2 patch to add more details.
Jijie Shao