[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH xen 2/2] xen: update system time immediately when VCPUOP_register_vcpu_info
Hi Jan, On 10/12/21 1:40 AM, Jan Beulich wrote: > On 12.10.2021 09:24, Dongli Zhang wrote: >> The guest may access the pv vcpu_time_info immediately after >> VCPUOP_register_vcpu_info. This is to borrow the idea of >> VCPUOP_register_vcpu_time_memory_area, where the >> force_update_vcpu_system_time() is called immediately when the new memory >> area is registered. >> >> Otherwise, we may observe clock drift at the VM side if the VM accesses >> the clocksource immediately after VCPUOP_register_vcpu_info(). >> >> Cc: Joe Jin <joe.jin@xxxxxxxxxx> >> Signed-off-by: Dongli Zhang <dongli.zhang@xxxxxxxxxx> > > While I agree with the change in principle, ... > >> --- a/xen/common/domain.c >> +++ b/xen/common/domain.c >> @@ -1695,6 +1695,8 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, >> XEN_GUEST_HANDLE_PARAM(void) arg) >> rc = map_vcpu_info(v, info.mfn, info.offset); >> domain_unlock(d); >> >> + force_update_vcpu_system_time(v); > > ... I'm afraid you're breaking the Arm build here. Arm will first need > to gain this function. > Since I am not familiar with the Xen ARM, would you please let me your suggestion if I just leave ARM as TODO to the ARM developers to verify and implement force_update_vcpu_system_time()? I have tested that the below can build with arm64/aarch64. diff --git a/xen/common/domain.c b/xen/common/domain.c index 40d67ec342..644c65ecd3 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1695,6 +1695,13 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg) rc = map_vcpu_info(v, info.mfn, info.offset); domain_unlock(d); +#ifdef CONFIG_X86 + /* + * TODO: ARM does not have force_update_vcpu_system_time(). + */ + force_update_vcpu_system_time(v); +#endif + break; } Thank you very much! Dongli Zhang
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |