From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 9B26EDDEFE for ; Tue, 3 Mar 2009 16:27:27 +1100 (EST) Subject: Re: [PATCH] Enable hashdist by default on 64bit NUMA From: Benjamin Herrenschmidt To: Anton Blanchard In-Reply-To: <20090226112431.GA25330@kryten> References: <20090218051112.GA32195@kryten> <20090218.011924.07030610.davem@davemloft.net> <20090220051956.GE32195@kryten> <20090220.000354.198880712.davem@davemloft.net> <20090226112431.GA25330@kryten> Content-Type: text/plain Date: Tue, 03 Mar 2009 16:27:15 +1100 Message-Id: <1236058035.20465.19.camel@pasglop> Mime-Version: 1.0 Cc: linuxppc-dev@ozlabs.org, David Miller List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, 2009-02-26 at 22:24 +1100, Anton Blanchard wrote: > Hi David, > > > Hmmm... my bad, I think you need to keep the CONFIG_NUMA > > there too as there is a TLB usage penalty for non-NUMA > > systems if you only use CONFIG_64BIT there. > > Sorry that was my screwup, here's a fixed version. Sounds good, how do we proceed for merging that ? Andrew ? Should it hop by linux-mm ? Acked-by: Benjamin Herrenschmidt --- > Anton > > -- > > On PowerPC we allocate large boot time hashes on node 0. This leads to > an imbalance in the free memory, for example on a 64GB box (4 x 16GB > nodes): > > Free memory: > Node 0: 97.03% > Node 1: 98.54% > Node 2: 98.42% > Node 3: 98.53% > > If we switch to using vmalloc (like ia64 and x86-64) things are more > balanced: > > Free memory: > Node 0: 97.53% > Node 1: 98.35% > Node 2: 98.33% > Node 3: 98.33% > > For many HPC applications we are limited by the free available memory on > the smallest node, so even though the same amount of memory is used the > better balancing helps. > > Since all 64bit NUMA capable architectures should have sufficient > vmalloc space, it makes sense to enable it via CONFIG_64BIT. > > Signed-off-by: Anton Blanchard > --- > > diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h > index 95837bf..0c4d4b7 100644 > --- a/include/linux/bootmem.h > +++ b/include/linux/bootmem.h > @@ -144,10 +144,10 @@ extern void *alloc_large_system_hash(const char *tablename, > > #define HASH_EARLY 0x00000001 /* Allocating during early boot? */ > > -/* Only NUMA needs hash distribution. > - * IA64 and x86_64 have sufficient vmalloc space. > +/* Only NUMA needs hash distribution. 64bit NUMA architectures have > + * sufficient vmalloc space. > */ > -#if defined(CONFIG_NUMA) && (defined(CONFIG_IA64) || defined(CONFIG_X86_64)) > +#if defined(CONFIG_NUMA) && defined(CONFIG_64BIT) > #define HASHDIST_DEFAULT 1 > #else > #define HASHDIST_DEFAULT 0 > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev