Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 7:53 PM, Brian Gerst wrote: > On Tue, Jul 21, 2015 at 10:12 PM, Andy Lutomirski wrote: >> On Tue, Jul 21, 2015 at 7:01 PM, Brian Gerst wrote: >>> On Tue, Jul 21, 2015 at 3:59 PM, Andy Lutomirski wrote: modify_ldt has questionable locking and does not synchronize >>>

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Brian Gerst
On Tue, Jul 21, 2015 at 10:12 PM, Andy Lutomirski wrote: > On Tue, Jul 21, 2015 at 7:01 PM, Brian Gerst wrote: >> On Tue, Jul 21, 2015 at 3:59 PM, Andy Lutomirski wrote: >>> modify_ldt has questionable locking and does not synchronize >>> threads. Improve it: redesign the locking and synchroniz

Re: [Xen-devel] [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 7:04 PM, Boris Ostrovsky wrote: > > > On 07/21/2015 08:49 PM, Andrew Cooper wrote: >> >> On 22/07/2015 01:28, Andy Lutomirski wrote: >>> >>> On Tue, Jul 21, 2015 at 5:21 PM, Andrew Cooper >>> wrote: On 22/07/2015 01:07, Andy Lutomirski wrote: > > On Tue,

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 7:01 PM, Brian Gerst wrote: > On Tue, Jul 21, 2015 at 3:59 PM, Andy Lutomirski wrote: >> modify_ldt has questionable locking and does not synchronize >> threads. Improve it: redesign the locking and synchronize all >> threads' LDTs using an IPI on all modifications. > > W

Re: [Xen-devel] [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Boris Ostrovsky
On 07/21/2015 08:49 PM, Andrew Cooper wrote: On 22/07/2015 01:28, Andy Lutomirski wrote: On Tue, Jul 21, 2015 at 5:21 PM, Andrew Cooper wrote: On 22/07/2015 01:07, Andy Lutomirski wrote: On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper wrote: On 21/07/2015 22:53, Boris Ostrovsky wrote: On

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Brian Gerst
On Tue, Jul 21, 2015 at 3:59 PM, Andy Lutomirski wrote: > modify_ldt has questionable locking and does not synchronize > threads. Improve it: redesign the locking and synchronize all > threads' LDTs using an IPI on all modifications. What does this fix? I can see sending an IPI if the LDT is re

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 5:49 PM, Andrew Cooper wrote: > On 22/07/2015 01:28, Andy Lutomirski wrote: >> On Tue, Jul 21, 2015 at 5:21 PM, Andrew Cooper >> wrote: >>> On 22/07/2015 01:07, Andy Lutomirski wrote: On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper wrote: > On 21/07/2015 22:5

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andrew Cooper
On 22/07/2015 01:28, Andy Lutomirski wrote: > On Tue, Jul 21, 2015 at 5:21 PM, Andrew Cooper > wrote: >> On 22/07/2015 01:07, Andy Lutomirski wrote: >>> On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper >>> wrote: On 21/07/2015 22:53, Boris Ostrovsky wrote: > On 07/21/2015 03:59 PM, Andy Lu

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 5:21 PM, Andrew Cooper wrote: > On 22/07/2015 01:07, Andy Lutomirski wrote: >> On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper >> wrote: >>> On 21/07/2015 22:53, Boris Ostrovsky wrote: On 07/21/2015 03:59 PM, Andy Lutomirski wrote: > --- a/arch/x86/include/asm/mmu_

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andrew Cooper
On 22/07/2015 01:07, Andy Lutomirski wrote: > On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper > wrote: >> On 21/07/2015 22:53, Boris Ostrovsky wrote: >>> On 07/21/2015 03:59 PM, Andy Lutomirski wrote: --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
On Tue, Jul 21, 2015 at 4:38 PM, Andrew Cooper wrote: > On 21/07/2015 22:53, Boris Ostrovsky wrote: >> On 07/21/2015 03:59 PM, Andy Lutomirski wrote: >>> --- a/arch/x86/include/asm/mmu_context.h >>> +++ b/arch/x86/include/asm/mmu_context.h >>> @@ -34,6 +34,44 @@ static inline void load_mm_cr4(stru

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andrew Cooper
On 21/07/2015 22:53, Boris Ostrovsky wrote: > On 07/21/2015 03:59 PM, Andy Lutomirski wrote: >> --- a/arch/x86/include/asm/mmu_context.h >> +++ b/arch/x86/include/asm/mmu_context.h >> @@ -34,6 +34,44 @@ static inline void load_mm_cr4(struct mm_struct >> *mm) {} >> #endif >> /* >> + * ldt_stru

Re: [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Boris Ostrovsky
On 07/21/2015 03:59 PM, Andy Lutomirski wrote: modify_ldt has questionable locking and does not synchronize threads. Improve it: redesign the locking and synchronize all threads' LDTs using an IPI on all modifications. This will dramatically slow down modify_ldt in multithreaded programs, but t

[PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous

2015-07-21 Thread Andy Lutomirski
modify_ldt has questionable locking and does not synchronize threads. Improve it: redesign the locking and synchronize all threads' LDTs using an IPI on all modifications. This will dramatically slow down modify_ldt in multithreaded programs, but there shouldn't be any multithreaded programs that