lkml.org 
[lkml]   [2021]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] x86/perf: Use static_call for x86_pmu.guest_get_msrs
From
Date
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);
> }
>

\
 
 \ /
  Last update: 2021-01-22 04:22    [W:0.061 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site