[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7f31ae2f-25a1-a7fb-1598-a8f21f3bc447@linux.intel.com>
Date: Fri, 22 Jan 2021 11:19:31 +0800
From: Like Xu <like.xu@...ux.intel.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>, x86@...nel.org,
linux-kernel@...r.kernel.org, Jason Baron <jbaron@...mai.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
kernel test robot <lkp@...el.com>
Subject: Re: [PATCH] x86/perf: Use static_call for x86_pmu.guest_get_msrs
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);
> }
>
Powered by blists - more mailing lists