Hi tglx, > -----Original Message----- > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Sent: Thursday, November 7, 2019 4:01 PM > To: Jianyong Wu (Arm Technology China) <Jianyong.Wu@xxxxxxx> > Cc: netdev@xxxxxxxxxxxxxxx; yangbo.lu@xxxxxxx; john.stultz@xxxxxxxxxx; > pbonzini@xxxxxxxxxx; sean.j.christopherson@xxxxxxxxx; maz@xxxxxxxxxx; > richardcochran@xxxxxxxxx; Mark Rutland <Mark.Rutland@xxxxxxx>; > will@xxxxxxxxxx; Suzuki Poulose <Suzuki.Poulose@xxxxxxx>; linux- > kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > kvmarm@xxxxxxxxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Steve Capper > <Steve.Capper@xxxxxxx>; Kaly Xin (Arm Technology China) > <Kaly.Xin@xxxxxxx>; Justin He (Arm Technology China) > <Justin.He@xxxxxxx>; nd <nd@xxxxxxx> > Subject: Re: [RFC PATCH v6 5/7] psci: Add hvc call service for ptp_kvm. > > On Thu, 24 Oct 2019, Jianyong Wu wrote: > > > This patch is the base of ptp_kvm for arm64. > > This patch ... > Yeah, avoid subjective expression. > > ptp_kvm modules will call hvc to get this service. > > The service offers real time and counter cycle of host for guest. > > > > Signed-off-by: Jianyong Wu <jianyong.wu@xxxxxxx> > > --- > > drivers/clocksource/arm_arch_timer.c | 2 ++ > > include/clocksource/arm_arch_timer.h | 4 ++++ > > include/linux/arm-smccc.h | 12 ++++++++++++ > > virt/kvm/arm/psci.c | 22 ++++++++++++++++++++++ > > 4 files changed, 40 insertions(+) > > > > diff --git a/drivers/clocksource/arm_arch_timer.c > > b/drivers/clocksource/arm_arch_timer.c > > index 07e57a49d1e8..e4ad38042ef6 100644 > > --- a/drivers/clocksource/arm_arch_timer.c > > +++ b/drivers/clocksource/arm_arch_timer.c > > @@ -29,6 +29,7 @@ > > #include <asm/virt.h> > > > > #include <clocksource/arm_arch_timer.h> > > +#include <linux/clocksource_ids.h> > > Same ordering issue and lack of file. > OK, > > diff --git a/include/clocksource/arm_arch_timer.h > > b/include/clocksource/arm_arch_timer.h > > index 1d68d5613dae..426d749e8cf8 100644 > > --- a/include/clocksource/arm_arch_timer.h > > +++ b/include/clocksource/arm_arch_timer.h > > @@ -104,6 +104,10 @@ static inline bool > arch_timer_evtstrm_available(void) > > return false; > > } > > > > +bool is_arm_arch_counter(void *unuse) > > A global function in a header file? You might want to make this static inline. > And while at it please s/unuse/unused/ > Should remove this residue line from v5 in v6. > > +{ > > + return false; > > +} > > #endif > > #include <linux/linkage.h> > > diff --git a/virt/kvm/arm/psci.c b/virt/kvm/arm/psci.c index > > 0debf49bf259..339bcbafac7b 100644 > > --- a/virt/kvm/arm/psci.c > > +++ b/virt/kvm/arm/psci.c > > @@ -15,6 +15,7 @@ > > #include <asm/kvm_host.h> > > > > #include <kvm/arm_psci.h> > > +#include <linux/clocksource_ids.h> > > Sigh. > Yeah, > > /* > > * This is an implementation of the Power State Coordination > > Interface @@ -392,6 +393,8 @@ int kvm_hvc_call_handler(struct > kvm_vcpu *vcpu) > > u32 func_id = smccc_get_function(vcpu); > > u32 val[4] = {}; > > u32 option; > > + u64 cycles; > > + struct system_time_snapshot systime_snapshot; > > Also here you might notice that the variables are not randomly ordered. > Do you mean considering the alignment then put "struct system_time_snapshot systime_snapshot" as the top one and u64 cycles as the second? Thanks Jianyong > Thanks, > > tglx