|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86: avoid flush IPI when possible
On 16/02/16 10:14, Jan Beulich wrote:
> --- a/xen/arch/x86/smp.c
> +++ b/xen/arch/x86/smp.c
> @@ -205,26 +205,30 @@ static unsigned int flush_flags;
>
> void invalidate_interrupt(struct cpu_user_regs *regs)
> {
> + unsigned int flags = flush_flags;
> ack_APIC_irq();
> perfc_incr(ipis);
> - if ( !__sync_local_execstate() ||
> - (flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) )
> - flush_area_local(flush_va, flush_flags);
> + if ( __sync_local_execstate() )
> + flags &= ~FLUSH_TLB;
If a switch happened, write_ptbase() also flushed global mappings. I
believe you can also mask out FLUSH_TLB_GLOBAL here.
Otherwise, the rest looks ok. Reviewed-by: Andrew Cooper
<andrew.cooper3@xxxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |