Messages in this thread | | | Date | Mon, 18 Jan 2021 14:35:03 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] x86/perf: Use static_call for x86_pmu.guest_get_msrs |
| |
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.
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) { *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); }
| |