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/[email protected]/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);
}