[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V7 01/18] perf/core: Use static_call to optimize perf_guest_info_callbacks
- To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Zhu Lingshan <lingshan.zhu@xxxxxxxxx>
- From: Zhu Lingshan <lingshan.zhu@xxxxxxxxxxxxxxx>
- Date: Thu, 8 Jul 2021 16:53:26 +0800
- Cc: pbonzini@xxxxxxxxxx, bp@xxxxxxxxx, seanjc@xxxxxxxxxx, vkuznets@xxxxxxxxxx, wanpengli@xxxxxxxxxxx, jmattson@xxxxxxxxxx, joro@xxxxxxxxxx, weijiang.yang@xxxxxxxxx, kan.liang@xxxxxxxxxxxxxxx, ak@xxxxxxxxxxxxxxx, wei.w.wang@xxxxxxxxx, eranian@xxxxxxxxxx, liuxiangdong5@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, like.xu.linux@xxxxxxxxx, Like Xu <like.xu@xxxxxxxxxxxxxxx>, Will Deacon <will@xxxxxxxxxx>, Marc Zyngier <maz@xxxxxxxxxx>, Guo Ren <guoren@xxxxxxxxxx>, Nick Hu <nickhu@xxxxxxxxxxxxx>, Paul Walmsley <paul.walmsley@xxxxxxxxxx>, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, kvmarm@xxxxxxxxxxxxxxxxxxxxx, linux-csky@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Thu, 08 Jul 2021 08:54:34 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 7/2/2021 7:22 PM, Peter Zijlstra wrote:
On Tue, Jun 22, 2021 at 05:42:49PM +0800, Zhu Lingshan wrote:
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 8f71dd72ef95..c71af4cfba9b 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -90,6 +90,27 @@ DEFINE_STATIC_CALL_NULL(x86_pmu_pebs_aliases,
*x86_pmu.pebs_aliases);
*/
DEFINE_STATIC_CALL_RET0(x86_pmu_guest_get_msrs, *x86_pmu.guest_get_msrs);
+DEFINE_STATIC_CALL_RET0(x86_guest_state, *(perf_guest_cbs->state));
+DEFINE_STATIC_CALL_RET0(x86_guest_get_ip, *(perf_guest_cbs->get_ip));
+DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr,
*(perf_guest_cbs->handle_intel_pt_intr));
+
+void arch_perf_update_guest_cbs(void)
+{
+ static_call_update(x86_guest_state, (void *)&__static_call_return0);
+ static_call_update(x86_guest_get_ip, (void *)&__static_call_return0);
+ static_call_update(x86_guest_handle_intel_pt_intr, (void
*)&__static_call_return0);
+
+ if (perf_guest_cbs && perf_guest_cbs->state)
+ static_call_update(x86_guest_state, perf_guest_cbs->state);
+
+ if (perf_guest_cbs && perf_guest_cbs->get_ip)
+ static_call_update(x86_guest_get_ip, perf_guest_cbs->get_ip);
+
+ if (perf_guest_cbs && perf_guest_cbs->handle_intel_pt_intr)
+ static_call_update(x86_guest_handle_intel_pt_intr,
+ perf_guest_cbs->handle_intel_pt_intr);
+}
Coding style wants { } on that last if().
will fix these coding style issues in V8
Thanks!
|