On Mon, 8 Jun 2015 04:39:38 -0500 (CDT) Christoph Lameter <cl@xxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>