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:58:50
Also in: linux-mm

On Mon, 8 Jun 2015 04:39:38 -0500 (CDT)
Christoph Lameter [off-list ref] wrote:
On Mon, 8 Jun 2015, Jesper Dangaard Brouer wrote:
quoted
My real question is if disabling local interrupts is enough to avoid this?
Yes the initial release of slub used interrupt disable in the fast paths.
Thanks for the confirmation.

For this code path we would need the save/restore variant, which is
more expensive than the local cmpxchg16b.   In case of bulking, we
should be able to use the less expensive local_irq_{disable,enable}.

Cost of local IRQ toggling (CPU E5-2695):
 *  local_irq_{disable,enable}:  7 cycles(tsc) -  2.861 ns
 *  local_irq_{save,restore}  : 37 cycles(tsc) - 14.846 ns

p.s. I'm back working on bulking API...
quoted
And, does local irq disabling also stop preemption?
Of course.
Thanks for confirming this.

-- 
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help