On 12.07.2019 04:28, Jan Beulich wrote: > On 11.07.2019 19:13, Tamas K Lengyel wrote: >>> @@ -629,6 +697,14 @@ static void *hvmemul_map_linear_addr( >>> >>> ASSERT(p2mt == p2m_ram_logdirty || !p2m_is_readonly(p2mt)); >>> } >>> + >>> + if ( curr->arch.vm_event && >>> + curr->arch.vm_event->send_event && >> >> Why not fold these checks into hvm_emulate_send_vm_event since.. > > I had asked for at least the first of the checks to be pulled > out of the function, for the common case to be affected as > little as possible. > >>> --- a/xen/arch/x86/hvm/hvm.c >>> +++ b/xen/arch/x86/hvm/hvm.c >>> @@ -3224,6 +3224,14 @@ static enum hvm_translation_result __hvm_copy( >>> return HVMTRANS_bad_gfn_to_mfn; >>> } >>> >>> + if ( unlikely(v->arch.vm_event) && >>> + v->arch.vm_event->send_event && >> >> .. you seem to just repeat them here again? > > I agree that the duplication makes no sense. >
The first check is on the hvmemul_map_linear_addr() path and the second is on hvmemul_insn_fetch() path. There are 2 distinct ways to reach that if and therefore the check is not duplicated. Thanks, Alex _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel