Lines Matching refs:rmid

21 	int			rmid;  member
72 static inline bool __rmid_valid(unsigned int rmid) in __rmid_valid() argument
74 if (!rmid || rmid == INVALID_RMID) in __rmid_valid()
80 static u64 __rmid_read(unsigned int rmid) in __rmid_read() argument
88 wrmsr(MSR_IA32_QM_EVTSEL, QOS_L3_OCCUP_EVENT_ID, rmid); in __rmid_read()
105 unsigned int rmid; member
150 static inline struct cqm_rmid_entry *__rmid_entry(int rmid) in __rmid_entry() argument
154 entry = cqm_rmid_ptrs[rmid]; in __rmid_entry()
155 WARN_ON(entry->rmid != rmid); in __rmid_entry()
177 return entry->rmid; in __get_rmid()
180 static void __put_rmid(unsigned int rmid) in __put_rmid() argument
186 WARN_ON(!__rmid_valid(rmid)); in __put_rmid()
187 entry = __rmid_entry(rmid); in __put_rmid()
215 entry->rmid = r; in intel_cqm_setup_rmid_cache()
375 unsigned int rmid; member
385 intel_cqm_xchg_rmid(struct perf_event *group, unsigned int rmid) in intel_cqm_xchg_rmid() argument
396 if (__rmid_valid(old_rmid) && !__rmid_valid(rmid)) { in intel_cqm_xchg_rmid()
399 .rmid = old_rmid, in intel_cqm_xchg_rmid()
409 group->hw.cqm_rmid = rmid; in intel_cqm_xchg_rmid()
411 event->hw.cqm_rmid = rmid; in intel_cqm_xchg_rmid()
445 if (__rmid_read(entry->rmid) > __intel_cqm_threshold) in intel_cqm_stable()
454 static bool intel_cqm_sched_in_event(unsigned int rmid) in intel_cqm_sched_in_event() argument
472 intel_cqm_xchg_rmid(event, rmid); in intel_cqm_sched_in_event()
573 intel_cqm_rotation_rmid = entry->rmid; in intel_cqm_rmid_stabilize()
581 if (intel_cqm_sched_in_event(entry->rmid)) in intel_cqm_rmid_stabilize()
601 unsigned int rmid; in __intel_cqm_pick_and_rotate() local
616 rmid = intel_cqm_xchg_rmid(rotor, INVALID_RMID); in __intel_cqm_pick_and_rotate()
617 __put_rmid(rmid); in __intel_cqm_pick_and_rotate()
629 unsigned int rmid; in intel_cqm_sched_out_conflicting_events() local
637 rmid = group->hw.cqm_rmid; in intel_cqm_sched_out_conflicting_events()
642 if (!__rmid_valid(rmid)) in intel_cqm_sched_out_conflicting_events()
652 __put_rmid(rmid); in intel_cqm_sched_out_conflicting_events()
831 unsigned int rmid; in intel_cqm_setup_event() local
835 rmid = iter->hw.cqm_rmid; in intel_cqm_setup_event()
839 event->hw.cqm_rmid = rmid; in intel_cqm_setup_event()
848 if (__conflict_event(iter, event) && __rmid_valid(rmid)) in intel_cqm_setup_event()
853 rmid = INVALID_RMID; in intel_cqm_setup_event()
855 rmid = __get_rmid(); in intel_cqm_setup_event()
857 event->hw.cqm_rmid = rmid; in intel_cqm_setup_event()
863 unsigned int rmid; in intel_cqm_event_read() local
873 rmid = event->hw.cqm_rmid; in intel_cqm_event_read()
875 if (!__rmid_valid(rmid)) in intel_cqm_event_read()
878 val = __rmid_read(rmid); in intel_cqm_event_read()
896 val = __rmid_read(rr->rmid); in __intel_cqm_event_count()
955 rr.rmid = ACCESS_ONCE(event->hw.cqm_rmid); in intel_cqm_event_count()
957 if (!__rmid_valid(rr.rmid)) in intel_cqm_event_count()
963 if (event->hw.cqm_rmid == rr.rmid) in intel_cqm_event_count()
973 unsigned int rmid = event->hw.cqm_rmid; in intel_cqm_event_start() local
984 WARN_ON_ONCE(state->rmid != rmid); in intel_cqm_event_start()
986 WARN_ON_ONCE(state->rmid); in intel_cqm_event_start()
988 state->rmid = rmid; in intel_cqm_event_start()
989 wrmsrl(MSR_IA32_PQR_ASSOC, state->rmid); in intel_cqm_event_start()
1008 state->rmid = 0; in intel_cqm_event_stop()
1011 WARN_ON_ONCE(!state->rmid); in intel_cqm_event_stop()
1020 unsigned int rmid; in intel_cqm_event_add() local
1025 rmid = event->hw.cqm_rmid; in intel_cqm_event_add()
1027 if (__rmid_valid(rmid) && (mode & PERF_EF_START)) in intel_cqm_event_add()
1068 unsigned int rmid = event->hw.cqm_rmid; in intel_cqm_event_destroy() local
1070 if (__rmid_valid(rmid)) in intel_cqm_event_destroy()
1071 __put_rmid(rmid); in intel_cqm_event_destroy()
1258 state->rmid = 0; in intel_cqm_cpu_prepare()