On Fri, Oct 21, 2022, Like Xu wrote: > On 6/10/2022 6:44 am, Sean Christopherson wrote: > > On Fri, Aug 19, 2022, Like Xu wrote: > > > @@ -142,12 +148,22 @@ static void global_disable(pmu_counter_t *cnt) > > > ~(1ull << cnt->idx)); > > > } > > > +static inline uint32_t get_gp_counter_msr(unsigned int i) > > > > Rather than helpers, what about macros? The problem with "get" is that it sounds > > like the helper is actually reading the counter/MSR. E.g. see MSR_IA32_MCx_CTL() > > > > Something like this? > > > > MSR_PERF_GP_CTRx() > > The base address msr is different for intel and amd (including K7), and > using different macros in the same location sounds like it would require a > helper. I wasn't thinking different macros, I was thinking a macro that consumes the gp_counter_base. But actually, there's no need to use a macro, it's really just the naming convention that I think we should use. It obviously violates the preferred style, but in this case I think the deviation is a net postive. static inline uint32_t MSR_PERF_GP_CTRx(unsigned int i) { return gp_counter_base + i; }