Lines Matching refs:event

139 static inline u64 rapl_read_counter(struct perf_event *event)  in rapl_read_counter()  argument
142 rdmsrl(event->hw.event_base, raw); in rapl_read_counter()
170 static u64 rapl_event_update(struct perf_event *event) in rapl_event_update() argument
172 struct hw_perf_event *hwc = &event->hw; in rapl_event_update()
179 rdmsrl(event->hw.event_base, new_raw_count); in rapl_event_update()
198 sdelta = rapl_scale(delta, event->hw.config); in rapl_event_update()
200 local64_add(sdelta, &event->count); in rapl_event_update()
220 struct perf_event *event; in rapl_hrtimer_handle() local
228 list_for_each_entry(event, &pmu->active_list, active_entry) { in rapl_hrtimer_handle()
229 rapl_event_update(event); in rapl_hrtimer_handle()
248 struct perf_event *event) in __rapl_pmu_event_start() argument
250 if (WARN_ON_ONCE(!(event->hw.state & PERF_HES_STOPPED))) in __rapl_pmu_event_start()
253 event->hw.state = 0; in __rapl_pmu_event_start()
255 list_add_tail(&event->active_entry, &pmu->active_list); in __rapl_pmu_event_start()
257 local64_set(&event->hw.prev_count, rapl_read_counter(event)); in __rapl_pmu_event_start()
264 static void rapl_pmu_event_start(struct perf_event *event, int mode) in rapl_pmu_event_start() argument
270 __rapl_pmu_event_start(pmu, event); in rapl_pmu_event_start()
274 static void rapl_pmu_event_stop(struct perf_event *event, int mode) in rapl_pmu_event_stop() argument
277 struct hw_perf_event *hwc = &event->hw; in rapl_pmu_event_stop()
289 list_del(&event->active_entry); in rapl_pmu_event_stop()
301 rapl_event_update(event); in rapl_pmu_event_stop()
308 static int rapl_pmu_event_add(struct perf_event *event, int mode) in rapl_pmu_event_add() argument
311 struct hw_perf_event *hwc = &event->hw; in rapl_pmu_event_add()
319 __rapl_pmu_event_start(pmu, event); in rapl_pmu_event_add()
326 static void rapl_pmu_event_del(struct perf_event *event, int flags) in rapl_pmu_event_del() argument
328 rapl_pmu_event_stop(event, PERF_EF_UPDATE); in rapl_pmu_event_del()
331 static int rapl_pmu_event_init(struct perf_event *event) in rapl_pmu_event_init() argument
333 u64 cfg = event->attr.config & RAPL_EVENT_MASK; in rapl_pmu_event_init()
337 if (event->attr.type != rapl_pmu_class.type) in rapl_pmu_event_init()
341 if (event->attr.config & ~RAPL_EVENT_MASK) in rapl_pmu_event_init()
372 if (event->attr.exclude_user || in rapl_pmu_event_init()
373 event->attr.exclude_kernel || in rapl_pmu_event_init()
374 event->attr.exclude_hv || in rapl_pmu_event_init()
375 event->attr.exclude_idle || in rapl_pmu_event_init()
376 event->attr.exclude_host || in rapl_pmu_event_init()
377 event->attr.exclude_guest || in rapl_pmu_event_init()
378 event->attr.sample_period) /* no sampling */ in rapl_pmu_event_init()
382 event->hw.event_base = msr; in rapl_pmu_event_init()
383 event->hw.config = cfg; in rapl_pmu_event_init()
384 event->hw.idx = bit; in rapl_pmu_event_init()
389 static void rapl_pmu_event_read(struct perf_event *event) in rapl_pmu_event_read() argument
391 rapl_event_update(event); in rapl_pmu_event_read()
495 DEFINE_RAPL_FORMAT_ATTR(event, event, "config:0-7");