On Thu, May 22, 2014 at 02:25:30PM -0500, Christoph Lameter wrote: > slab_free calls __slab_free which can release slabs via > put_cpu_partial()/unfreeze_partials()/discard_slab() to the page > allocator. I'd rather have preemption enabled there.
Hmm, why? IMO, calling __free_pages with preempt disabled won't hurt latency, because it proceeds really fast. BTW, we already call it for a bunch of pages from __slab_free() -> put_cpu_partial() -> unfreeze_partials() with irqs disabled, which is harder. FWIW, SLAB has the whole obj free path executed under local_irq_save/restore, and it doesn't bother enabling irqs for freeing pages. IMO, the latency improvement we can achieve by enabling preemption while calling __free_pages is rather minor, and it isn't worth complicating the code. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/