Messages in this thread | | | Subject | Re: [PATCH] x86/perf: Use static_call for x86_pmu.guest_get_msrs | From | Like Xu <> | Date | Fri, 22 Jan 2021 11:19:31 +0800 |
| |
On 2021/1/18 21:35, Peter Zijlstra wrote: > On Mon, Jan 18, 2021 at 09:05:06PM +0800, Like Xu wrote: >> I guess this fix will silence the compiler error, >> and v2 will be sent after the local 0day test passes. > > I think there's also a problem where you don't assign a function at all.
Thank you!
> > I think you want something like > > if (!x86_pmu.guest_get_msr) > x86_pmu.guest_get_msr = guest_get_msr_nop; > > right before x86_pmu_static_call_update(); > > And then have it be something like: > > static void *guest_et_msr_nop(int *nr)
The [-Werror=incompatible-pointer-types] will yell at "void *".
Please review the v2 version.
https://lore.kernel.org/lkml/20210122030324.2754492-1-like.xu@linux.intel.com/T/#u
> { > *nr = 0; > return NULL; > } > > and then you can reduce the entire thing to: > > struct perf_guest_switch_msr *perf_guest_get_msrs(int *nr) > { > return static_call(x86_pmu_guest_get_msrs)(nr); > } >
| |