Messages in this thread | | | Date | Fri, 23 May 2014 19:26:43 +0400 | From | Vladimir Davydov <> | Subject | Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline |
| |
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.
| |