Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261630AbVEPNxV (ORCPT ); Mon, 16 May 2005 09:53:21 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261649AbVEPNxU (ORCPT ); Mon, 16 May 2005 09:53:20 -0400 Received: from e6.ny.us.ibm.com ([32.97.182.146]:50891 "EHLO e6.ny.us.ibm.com") by vger.kernel.org with ESMTP id S261630AbVEPNxH (ORCPT ); Mon, 16 May 2005 09:53:07 -0400 Subject: Re: NUMA aware slab allocator V3 From: Dave Hansen To: Christoph Lameter Cc: Andrew Morton , linux-mm , Linux Kernel Mailing List , shai@scalex86.org, steiner@sgi.com In-Reply-To: References: <20050512000444.641f44a9.akpm@osdl.org> <20050513000648.7d341710.akpm@osdl.org> <20050513043311.7961e694.akpm@osdl.org> Content-Type: text/plain Date: Mon, 16 May 2005 06:52:48 -0700 Message-Id: <1116251568.1005.29.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.0.4 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1371 Lines: 35 On Fri, 2005-05-13 at 18:24 -0700, Christoph Lameter wrote: > /* > + * Some Linux kernels currently have weird notions of NUMA. Make sure that > + * there is only a single node if CONFIG_NUMA is not set. Remove this check > + * after the situation has stabilized. > + */ > +#ifndef CONFIG_NUMA > +#if MAX_NUMNODES != 1 > +#error "Broken Configuration: CONFIG_NUMA not set but MAX_NUMNODES !=1 !!" > +#endif > +#endif There are some broken assumptions in the kernel that CONFIG_DISCONTIG==CONFIG_NUMA. These usually manifest when code assumes that one pg_data_t means one NUMA node. However, NUMA node ids are actually distinct from "discontigmem nodes". A "discontigmem node" is just one physically contiguous area of memory, thus one pg_data_t. Some (non-NUMA) Mac G5's have a gap in their address space, so they get two discontigmem nodes. So, that #error is bogus. It's perfectly valid to have multiple discontigmem nodes, when the number of NUMA nodes is 1. MAX_NUMNODES refers to discontigmem nodes, not NUMA nodes. In current -mm, you can use CONFIG_NEED_MULTIPLE_NODES to mean 'NUMA || DISCONTIG'. -- Dave - 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/