Re: [Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-25 Thread Vitaly Kuznetsov
Vitaly Kuznetsov writes: > Peter Zijlstra writes: > >> On Thu, Aug 24, 2017 at 11:22:58AM +0200, Vitaly Kuznetsov wrote: >> >>> diff --git a/arch/x86/include/asm/tlb.h b/arch/x86/include/asm/tlb.h >>> index c7797307fc2b..d43a7fcafee9 100644 >>> --- a/arch/x86/include/asm/tlb.h >>> +++ b/arch/x86

Re: [Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-24 Thread Peter Zijlstra
On Thu, Aug 24, 2017 at 05:27:21PM +0200, Vitaly Kuznetsov wrote: > Do you think adding something like > > /* > * While x86 architecture in general requires an IPI to perform TLB > * shootdown, enablement code for several hypervisors overrides > * .flush_tlb_others hook in pv_mmu_ops and implem

Re: [Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-24 Thread Vitaly Kuznetsov
Peter Zijlstra writes: > On Thu, Aug 24, 2017 at 11:22:58AM +0200, Vitaly Kuznetsov wrote: > >> diff --git a/arch/x86/include/asm/tlb.h b/arch/x86/include/asm/tlb.h >> index c7797307fc2b..d43a7fcafee9 100644 >> --- a/arch/x86/include/asm/tlb.h >> +++ b/arch/x86/include/asm/tlb.h >> @@ -15,4 +15,9

Re: [Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-24 Thread Peter Zijlstra
On Thu, Aug 24, 2017 at 11:22:58AM +0200, Vitaly Kuznetsov wrote: > diff --git a/arch/x86/include/asm/tlb.h b/arch/x86/include/asm/tlb.h > index c7797307fc2b..d43a7fcafee9 100644 > --- a/arch/x86/include/asm/tlb.h > +++ b/arch/x86/include/asm/tlb.h > @@ -15,4 +15,9 @@ > > #include > > +stati

Re: [Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-24 Thread Kirill A. Shutemov
On Thu, Aug 24, 2017 at 11:22:58AM +0200, Vitaly Kuznetsov wrote: > On x86 software page-table walkers depend on the fact that remote TLB flush > does an IPI: walk is performed lockless but with interrupts disabled and in > case the pagetable is freed the freeing CPU will get blocked as remote TLB

[Xen-devel] [PATCH v2] x86: enable RCU based table free

2017-08-24 Thread Vitaly Kuznetsov
On x86 software page-table walkers depend on the fact that remote TLB flush does an IPI: walk is performed lockless but with interrupts disabled and in case the pagetable is freed the freeing CPU will get blocked as remote TLB flush is required. On other architecture which don't require an IPI to d