Thread (5 messages) flat view 5 messages, 3 authors, 2015-06-08

Re: [RFC PATCH] slub: RFC: Improving SLUB performance with 38% on NO-PREEMPT

From: Jesper Dangaard Brouer <hidden>
Date: 2015-06-08 09:24:08
Also in: linux-mm

On Thu, 04 Jun 2015 19:37:57 -0700
Eric Dumazet [off-list ref] wrote:
On Thu, 2015-06-04 at 12:31 +0200, Jesper Dangaard Brouer wrote:
quoted
This patch improves performance of SLUB allocator fastpath with 38% by
avoiding the call to this_cpu_cmpxchg_double() for NO-PREEMPT kernels.

Reviewers please point out why this change is wrong, as such a large
improvement should not be possible ;-)
I am not sure if anyone already answered, but the cmpxchg_double()
is needed to avoid the ABA problem.

This is the whole point using tid _and_ freelist

Preemption is not the only thing that could happen here, think of
interrupts.
Yes, I sort of already knew this.

My real question is if disabling local interrupts is enough to avoid this?

And, does local irq disabling also stop preemption?

Questions relate to this patch:
 http://ozlabs.org/~akpm/mmots/broken-out/slub-bulk-alloc-extract-objects-from-the-per-cpu-slab.patch

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Sr. Network Kernel Developer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help