Re: [PATCH] mm/slub: fix lockups on PREEMPT && !SMP kernels

2015-03-17 Thread Mark Rutland
Hi, > On Fri, Mar 13, 2015 at 03:47:12PM +, Mark Rutland wrote: > > Commit 9aabf810a67cd97e ("mm/slub: optimize alloc/free fastpath by > > removing preemption on/off") introduced an occasional hang for kernels > > built with CONFIG_PREEMPT && !CONFIG_SMP. > > > > The problem is the following

Re: [PATCH] mm/slub: fix lockups on PREEMPT && !SMP kernels

2015-03-16 Thread Joonsoo Kim
Hello, On Fri, Mar 13, 2015 at 03:47:12PM +, Mark Rutland wrote: > Commit 9aabf810a67cd97e ("mm/slub: optimize alloc/free fastpath by > removing preemption on/off") introduced an occasional hang for kernels > built with CONFIG_PREEMPT && !CONFIG_SMP. > > The problem is the following loop the

Re: [PATCH] mm/slub: fix lockups on PREEMPT && !SMP kernels

2015-03-13 Thread Christoph Lameter
On Fri, 13 Mar 2015, Mark Rutland wrote: > w.r.t. CONFIG_PREEMPT, git grep tells me otherwise: Grep does not tell you what is deployed. Its more of a reflection of the thought of the kernel devs what they think are reasonable configurations. -- To unsubscribe from this list: send the line "unsubs

Re: [PATCH] mm/slub: fix lockups on PREEMPT && !SMP kernels

2015-03-13 Thread Mark Rutland
On Fri, Mar 13, 2015 at 04:29:23PM +, Christoph Lameter wrote: > On Fri, 13 Mar 2015, Mark Rutland wrote: > > > */ > > - do { > > - tid = this_cpu_read(s->cpu_slab->tid); > > - c = raw_cpu_ptr(s->cpu_slab); > > - } while (IS_ENABLED(CONFIG_PREEMPT) && unlikely(tid

Re: [PATCH] mm/slub: fix lockups on PREEMPT && !SMP kernels

2015-03-13 Thread Christoph Lameter
On Fri, 13 Mar 2015, Mark Rutland wrote: >*/ > - do { > - tid = this_cpu_read(s->cpu_slab->tid); > - c = raw_cpu_ptr(s->cpu_slab); > - } while (IS_ENABLED(CONFIG_PREEMPT) && unlikely(tid != c->tid)); > + c = raw_cpu_ptr(s->cpu_slab); > + tid = READ_O