Thread (19 messages) 19 messages, 4 authors, 2024-02-29

RE: [EXT] Re: [PATCH v4 5/6] perf: imx_perf: limit counter ID from user space and optimize counter usage

From: Xu Yang <xu.yang_2@nxp.com>
Date: 2024-02-29 10:29:50
Also in: imx, linux-devicetree, linux-perf-users, lkml

On Wed, Jan 31, 2024 at 01:58:10PM +0800, Xu Yang wrote:
quoted
The user can pass any counter ID to perf app. However, current pmu driver
doesn't judge the validity of the counter ID. This will add necessary
check for counter ID from user space. Besides, this pmu has 10 counters
except cycle counter which can be used to count reference events and
counter specific evnets. This will also add supports to auto allocate
counter if the user doesn't pass it the perf. Then, the usage of counter
will be optimized.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>

---
Changes in v2:
 - limit counter ID from user to 0-10
 - combine dynamic and static allocation of counter
Changes in v3:
 - no changes
Changes in v4:
 - rename ddr_perf_is_specific_event()
 - use macro definitions to parse config attr
---
 drivers/perf/fsl_imx9_ddr_perf.c | 72 +++++++++++++++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)
diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
index 94041f06c152..e71496809c52 100644
--- a/drivers/perf/fsl_imx9_ddr_perf.c
+++ b/drivers/perf/fsl_imx9_ddr_perf.c
@@ -51,6 +51,7 @@

 #define NUM_COUNTERS         11
 #define CYCLES_COUNTER               0
+#define CYCLES_EVENT_ID              0

 #define CONFIG_EVENT_MASK    0x00FF
 #define CONFIG_EVENT_OFFSET  0
@@ -240,6 +241,19 @@ static struct attribute *ddr_perf_events_attrs[] = {
      NULL,
 };

+/*
+ * An event is either reference evnet or counter specific event.
+ * For counter specific event, the event count will only be incremented
+ * on the corresponding counter.
+ */
+static bool ddr_perf_is_counter_specific_event(int event)
+{
+     if (event >= 64 && event <= 73)
+             return true;
+     else
+             return false;
Just collapse this to 'return event >= 64 && event <= 73;'
Okay.

Thanks,
Xu Yang
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help