From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753084AbaEWP0y (ORCPT ); Fri, 23 May 2014 11:26:54 -0400 Received: from mx2.parallels.com ([199.115.105.18]:51665 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751796AbaEWP0x (ORCPT ); Fri, 23 May 2014 11:26:53 -0400 Date: Fri, 23 May 2014 19:26:43 +0400 From: Vladimir Davydov To: Christoph Lameter CC: , , , , Subject: Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline Message-ID: <20140523152642.GD3147@esperanza> References: <20140516132234.GF32113@esperanza> <20140519152437.GB25889@esperanza> <537A4D27.1050909@parallels.com> <20140521150408.GB23193@esperanza> <20140522134726.GA3147@esperanza> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.