perf/core: Export perf_exclude_event()
authorNamhyung Kim <namhyung@kernel.org>
Tue, 3 Dec 2024 18:04:40 +0000 (10:04 -0800)
committerIngo Molnar <mingo@kernel.org>
Mon, 9 Dec 2024 14:50:31 +0000 (15:50 +0100)
While at it, rename the same function in s390 cpum_sf PMU.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Ravi Bangoria <ravi.bangoria@amd.com>
Reviewed-by: Ravi Bangoria <ravi.bangoria@amd.com>
Acked-by: Thomas Richter <tmricht@linux.ibm.com>
Link: https://lore.kernel.org/r/20241203180441.1634709-2-namhyung@kernel.org
arch/s390/kernel/perf_cpum_sf.c
include/linux/perf_event.h
kernel/events/core.c

index 1e99514fb7ae3db42cef70e34255b4432e76c536..5f60248cb46873ea1d5134bff64ab263a867729e 100644 (file)
@@ -981,7 +981,7 @@ static void cpumsf_pmu_disable(struct pmu *pmu)
        cpuhw->flags &= ~PMU_F_ENABLED;
 }
 
-/* perf_exclude_event() - Filter event
+/* perf_event_exclude() - Filter event
  * @event:     The perf event
  * @regs:      pt_regs structure
  * @sde_regs:  Sample-data-entry (sde) regs structure
@@ -990,7 +990,7 @@ static void cpumsf_pmu_disable(struct pmu *pmu)
  *
  * Return non-zero if the event shall be excluded.
  */
-static int perf_exclude_event(struct perf_event *event, struct pt_regs *regs,
+static int perf_event_exclude(struct perf_event *event, struct pt_regs *regs,
                              struct perf_sf_sde_regs *sde_regs)
 {
        if (event->attr.exclude_user && user_mode(regs))
@@ -1073,7 +1073,7 @@ static int perf_push_sample(struct perf_event *event,
        data.tid_entry.pid = basic->hpp & LPP_PID_MASK;
 
        overflow = 0;
-       if (perf_exclude_event(event, &regs, sde_regs))
+       if (perf_event_exclude(event, &regs, sde_regs))
                goto out;
        if (perf_event_overflow(event, &data, &regs)) {
                overflow = 1;
index bf831b1485ff5b3a83e647feb56659904984591c..8333f132f4a96cffda6f7c8eb4b105915f9d9d97 100644 (file)
@@ -1690,6 +1690,8 @@ static inline int perf_allow_tracepoint(struct perf_event_attr *attr)
        return security_perf_event_open(attr, PERF_SECURITY_TRACEPOINT);
 }
 
+extern int perf_exclude_event(struct perf_event *event, struct pt_regs *regs);
+
 extern void perf_event_init(void);
 extern void perf_tp_event(u16 event_type, u64 count, void *record,
                          int entry_size, struct pt_regs *regs,
@@ -1895,6 +1897,10 @@ static inline u64 perf_event_pause(struct perf_event *event, bool reset)
 {
        return 0;
 }
+static inline int perf_exclude_event(struct perf_event *event, struct pt_regs *regs)
+{
+       return 0;
+}
 #endif
 
 #if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL)
index e9f698c08dc17906b2470b1df5ff92a444d01226..b2bc67791f84575efd44d85fb4181325ccc1cc90 100644 (file)
@@ -10039,8 +10039,7 @@ static void perf_swevent_event(struct perf_event *event, u64 nr,
        perf_swevent_overflow(event, 0, data, regs);
 }
 
-static int perf_exclude_event(struct perf_event *event,
-                             struct pt_regs *regs)
+int perf_exclude_event(struct perf_event *event, struct pt_regs *regs)
 {
        if (event->hw.state & PERF_HES_STOPPED)
                return 1;