Re: [PATCH] x86/mm: Don't reenter flush_tlb_func_common()

2017-06-19 Thread zhong jiang
On 2017/6/19 23:05, Andy Lutomirski wrote: > On Mon, Jun 19, 2017 at 6:33 AM, zhong jiang wrote: >> On 2017/6/19 12:48, Andy Lutomirski wrote: >>> It was historically possible to have two concurrent TLB flushes >>> targeting the same CPU: one initiated locally and one initiated >>> remotely. This

Re: [PATCH] x86/mm: Don't reenter flush_tlb_func_common()

2017-06-19 Thread Andy Lutomirski
On Mon, Jun 19, 2017 at 6:33 AM, zhong jiang wrote: > On 2017/6/19 12:48, Andy Lutomirski wrote: >> It was historically possible to have two concurrent TLB flushes >> targeting the same CPU: one initiated locally and one initiated >> remotely. This can now cause an OOPS in leave_mm() at >> arch/x

Re: [PATCH] x86/mm: Don't reenter flush_tlb_func_common()

2017-06-19 Thread zhong jiang
On 2017/6/19 12:48, Andy Lutomirski wrote: > It was historically possible to have two concurrent TLB flushes > targeting the same CPU: one initiated locally and one initiated > remotely. This can now cause an OOPS in leave_mm() at > arch/x86/mm/tlb.c:47: > > if (this_cpu_read(cpu_tlbstate.

[PATCH] x86/mm: Don't reenter flush_tlb_func_common()

2017-06-18 Thread Andy Lutomirski
It was historically possible to have two concurrent TLB flushes targeting the same CPU: one initiated locally and one initiated remotely. This can now cause an OOPS in leave_mm() at arch/x86/mm/tlb.c:47: if (this_cpu_read(cpu_tlbstate.state) == TLBSTATE_OK) BUG(); with th