Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754049AbbGOXnK (ORCPT ); Wed, 15 Jul 2015 19:43:10 -0400 Received: from mail-ig0-f169.google.com ([209.85.213.169]:35406 "EHLO mail-ig0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753905AbbGOXnH (ORCPT ); Wed, 15 Jul 2015 19:43:07 -0400 Date: Wed, 15 Jul 2015 16:43:04 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Thomas Gleixner cc: Christoph Lameter , Steven Rostedt , LKML , Pekka Enberg , Joonsoo Kim , Andrew Morton , linux-mm@kvack.org, Sebastian Andrzej Siewior , Peter Zijlstra Subject: Re: [patch V2] mm/slub: Move slab initialization into irq enabled region In-Reply-To: Message-ID: References: <20150710120259.836414367@linutronix.de> <20150710110242.25c84965@gandalf.local.home> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1206 Lines: 28 On Fri, 10 Jul 2015, Thomas Gleixner wrote: > Initializing a new slab can introduce rather large latencies because > most of the initialization runs always with interrupts disabled. > > There is no point in doing so. The newly allocated slab is not visible > yet, so there is no reason to protect it against concurrent alloc/free. > > Move the expensive parts of the initialization into allocate_slab(), > so for all allocations with GFP_WAIT set, interrupts are enabled. > > Signed-off-by: Thomas Gleixner > Cc: Christoph Lameter > Cc: Pekka Enberg > Cc: David Rientjes > Cc: Joonsoo Kim > Cc: Andrew Morton > Cc: linux-mm@kvack.org > Cc: Sebastian Andrzej Siewior > Cc: Steven Rostedt > Cc: Peter Zijlstra Acked-by: David Rientjes -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/