On Mon, 8 Jun 2015 04:39:38 -0500 (CDT)
Christoph Lameter <[email protected]> wrote:
> On Mon, 8 Jun 2015, Jesper Dangaard Brouer wrote:
>
> > 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...
> > 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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html