Lines Matching refs:event
137 static inline u64 rapl_read_counter(struct perf_event *event) in rapl_read_counter() argument
140 rdmsrl(event->hw.event_base, raw); in rapl_read_counter()
168 static u64 rapl_event_update(struct perf_event *event) in rapl_event_update() argument
170 struct hw_perf_event *hwc = &event->hw; in rapl_event_update()
177 rdmsrl(event->hw.event_base, new_raw_count); in rapl_event_update()
196 sdelta = rapl_scale(delta, event->hw.config); in rapl_event_update()
198 local64_add(sdelta, &event->count); in rapl_event_update()
217 struct perf_event *event; in rapl_hrtimer_handle() local
225 list_for_each_entry(event, &pmu->active_list, active_entry) { in rapl_hrtimer_handle()
226 rapl_event_update(event); in rapl_hrtimer_handle()
245 struct perf_event *event) in __rapl_pmu_event_start() argument
247 if (WARN_ON_ONCE(!(event->hw.state & PERF_HES_STOPPED))) in __rapl_pmu_event_start()
250 event->hw.state = 0; in __rapl_pmu_event_start()
252 list_add_tail(&event->active_entry, &pmu->active_list); in __rapl_pmu_event_start()
254 local64_set(&event->hw.prev_count, rapl_read_counter(event)); in __rapl_pmu_event_start()
261 static void rapl_pmu_event_start(struct perf_event *event, int mode) in rapl_pmu_event_start() argument
267 __rapl_pmu_event_start(pmu, event); in rapl_pmu_event_start()
271 static void rapl_pmu_event_stop(struct perf_event *event, int mode) in rapl_pmu_event_stop() argument
274 struct hw_perf_event *hwc = &event->hw; in rapl_pmu_event_stop()
286 list_del(&event->active_entry); in rapl_pmu_event_stop()
298 rapl_event_update(event); in rapl_pmu_event_stop()
305 static int rapl_pmu_event_add(struct perf_event *event, int mode) in rapl_pmu_event_add() argument
308 struct hw_perf_event *hwc = &event->hw; in rapl_pmu_event_add()
316 __rapl_pmu_event_start(pmu, event); in rapl_pmu_event_add()
323 static void rapl_pmu_event_del(struct perf_event *event, int flags) in rapl_pmu_event_del() argument
325 rapl_pmu_event_stop(event, PERF_EF_UPDATE); in rapl_pmu_event_del()
328 static int rapl_pmu_event_init(struct perf_event *event) in rapl_pmu_event_init() argument
330 u64 cfg = event->attr.config & RAPL_EVENT_MASK; in rapl_pmu_event_init()
334 if (event->attr.type != rapl_pmu_class.type) in rapl_pmu_event_init()
338 if (event->attr.config & ~RAPL_EVENT_MASK) in rapl_pmu_event_init()
369 if (event->attr.exclude_user || in rapl_pmu_event_init()
370 event->attr.exclude_kernel || in rapl_pmu_event_init()
371 event->attr.exclude_hv || in rapl_pmu_event_init()
372 event->attr.exclude_idle || in rapl_pmu_event_init()
373 event->attr.exclude_host || in rapl_pmu_event_init()
374 event->attr.exclude_guest || in rapl_pmu_event_init()
375 event->attr.sample_period) /* no sampling */ in rapl_pmu_event_init()
379 event->hw.event_base = msr; in rapl_pmu_event_init()
380 event->hw.config = cfg; in rapl_pmu_event_init()
381 event->hw.idx = bit; in rapl_pmu_event_init()
386 static void rapl_pmu_event_read(struct perf_event *event) in rapl_pmu_event_read() argument
388 rapl_event_update(event); in rapl_pmu_event_read()
504 DEFINE_RAPL_FORMAT_ATTR(event, event, "config:0-7");