Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753171Ab0LWBOV (ORCPT ); Wed, 22 Dec 2010 20:14:21 -0500 Received: from smtp-out.google.com ([216.239.44.51]:62114 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752528Ab0LWBOU (ORCPT ); Wed, 22 Dec 2010 20:14:20 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=date:from:x-x-sender:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; b=swOiR4u+dk8cTFW/f4ZPYX7sqTInr+QBC3Q+2a0EUwFTjCfzXRMDBax4B6ZOd73kpR /CbZrekpR+Sim4/r+/Hw== Date: Wed, 22 Dec 2010 17:14:13 -0800 (PST) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Andrew Morton cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Haicheng Li , lethal@linux-sh.org, Andi Kleen , shaohui.zheng@linux.intel.com, dave@linux.vnet.ibm.com, Greg KH Subject: Re: [2/7, v9] NUMA Hotplug Emulator: Add numa=possible option In-Reply-To: <20101222162717.289cfe01.akpm@linux-foundation.org> Message-ID: References: <20101210073119.156388875@intel.com> <20101210073242.357094158@intel.com> <20101222162717.289cfe01.akpm@linux-foundation.org> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="531368966-1419668146-1293066855=:26427" X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1968 Lines: 52 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --531368966-1419668146-1293066855=:26427 Content-Type: TEXT/PLAIN; charset=UTF-8 Content-Transfer-Encoding: 8BIT On Wed, 22 Dec 2010, Andrew Morton wrote: > > @@ -646,6 +647,15 @@ void __init initmem_init(unsigned long start_pfn, unsigned long last_pfn, > > numa_set_node(i, 0); > > memblock_x86_register_active_regions(0, start_pfn, last_pfn); > > setup_node_bootmem(0, start_pfn << PAGE_SHIFT, last_pfn << PAGE_SHIFT); > > +out: __maybe_unused > > hm, I didn't know you could do that with labels. > > Does it work? > Yeah, it's equivalent to __attribute__((unused)) and according to the gcc manual section 6.30: In GNU C, an attribute specifier list may appear after the colon following a label, other than a case or default label. The only attribute it makes sense to use after a label is unused. This feature is intended for code generated by programs which contains labels that may be unused but which is compiled with ‘-Wall’. It would not normally be appropriate to use in it human-written code, though it could be useful in cases where the code that jumps to the label is contained within an #ifdef conditional. I used it because I knew I wouldn't get away with putting a label inside an #ifdef :) > > + for (i = 0; i < numa_possible_nodes; i++) { > > + int nid; > > + > > + nid = first_unset_node(node_possible_map); > > + if (nid == MAX_NUMNODES) > > + break; > > + node_set(nid, node_possible_map); > > + } > > } > > > > unsigned long __init numa_free_all_bootmem(void) --531368966-1419668146-1293066855=:26427-- -- 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/