perf: Add ->count() function to read per-package counters
[cascardo/linux.git] / kernel / events / core.c
index 072de31..4e8dc59 100644 (file)
@@ -3194,7 +3194,10 @@ static void __perf_event_read(void *info)
 
 static inline u64 perf_event_count(struct perf_event *event)
 {
-       return local64_read(&event->count) + atomic64_read(&event->child_count);
+       if (event->pmu->count)
+               return event->pmu->count(event);
+
+       return __perf_event_count(event);
 }
 
 static u64 perf_event_read(struct perf_event *event)