When the outgoing vCPU had IBPB issued upon entering Xen there's no need for a 2nd barrier during context switch.
Signed-off-by: Jan Beulich <jbeul...@suse.com> --- v3: Fold into series. --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -2015,7 +2015,8 @@ void context_switch(struct vcpu *prev, s ctxt_switch_levelling(next); - if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) ) + if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) && + !(prevd->arch.spec_ctrl_flags & SCF_entry_ibpb) ) { static DEFINE_PER_CPU(unsigned int, last); unsigned int *last_id = &this_cpu(last);