LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org Cc: Mel Gorman <mel@csn.ul.ie> Cc: apw@shadowen.org Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Rik van Riel <riel@redhat.com> Cc: linux-mm@kvack.org Subject: [rfc 09/10] Get rid of __ZONE_COUNT Date: Mon, 03 Mar 2008 16:05:01 -0800 [thread overview] Message-ID: <20080304000734.153878688@sgi.com> (raw) In-Reply-To: 20080304000452.514878384@sgi.com [-- Attachment #1: bounds_nr_max_zones --] [-- Type: text/plain, Size: 2606 bytes --] It was used to compensate because MAX_NR_ZONES was not available to the #ifdefs. Export MAX_NR_ZONES via the new mechanism and get rid of __ZONE_COUNT. Signed-off-by: Christoph Lameter <clameter@sgi.com> --- include/linux/bounds.h | 1 + include/linux/mmzone.h | 22 +++++----------------- kernel/bounds.c | 1 + 3 files changed, 7 insertions(+), 17 deletions(-) Index: linux-2.6/include/linux/mmzone.h =================================================================== --- linux-2.6.orig/include/linux/mmzone.h 2008-03-03 15:53:28.329306618 -0800 +++ linux-2.6/include/linux/mmzone.h 2008-03-03 15:54:59.166310018 -0800 @@ -17,6 +17,7 @@ #include <linux/pageblock-flags.h> #include <asm/atomic.h> #include <asm/page.h> +#include <linux/bounds.h> /* Free memory management - zoned buddy allocator. */ #ifndef CONFIG_FORCE_MAX_ZONEORDER @@ -177,7 +178,7 @@ enum zone_type { ZONE_HIGHMEM, #endif ZONE_MOVABLE, - MAX_NR_ZONES + __MAX_NR_ZONES }; /* @@ -188,28 +189,15 @@ enum zone_type { * match the requested limits. See gfp_zone() in include/linux/gfp.h */ -/* - * Count the active zones. Note that the use of defined(X) outside - * #if and family is not necessarily defined so ensure we cannot use - * it later. Use __ZONE_COUNT to work out how many shift bits we need. - */ -#define __ZONE_COUNT ( \ - defined(CONFIG_ZONE_DMA) \ - + defined(CONFIG_ZONE_DMA32) \ - + 1 \ - + defined(CONFIG_HIGHMEM) \ - + 1 \ -) -#if __ZONE_COUNT < 2 +#if MAX_NR_ZONES < 2 #define ZONES_SHIFT 0 -#elif __ZONE_COUNT <= 2 +#elif MAX_NR_ZONES <= 2 #define ZONES_SHIFT 1 -#elif __ZONE_COUNT <= 4 +#elif MAX_NR_ZONES <= 4 #define ZONES_SHIFT 2 #else #error ZONES_SHIFT -- too many zones configured adjust calculation #endif -#undef __ZONE_COUNT struct zone { /* Fields commonly accessed by the page allocator */ Index: linux-2.6/kernel/bounds.c =================================================================== --- linux-2.6.orig/kernel/bounds.c 2008-03-03 15:53:28.329306618 -0800 +++ linux-2.6/kernel/bounds.c 2008-03-03 15:54:34.278034457 -0800 @@ -14,4 +14,5 @@ void foo(void) { DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS); + DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES); } Index: linux-2.6/include/linux/bounds.h =================================================================== --- linux-2.6.orig/include/linux/bounds.h 2008-03-03 15:53:28.329306618 -0800 +++ linux-2.6/include/linux/bounds.h 2008-03-03 15:54:34.278034457 -0800 @@ -8,5 +8,6 @@ */ #define NR_PAGEFLAGS 32 /* __NR_PAGEFLAGS # */ +#define MAX_NR_ZONES 4 /* __MAX_NR_ZONES # */ #endif --
next prev parent reply other threads:[~2008-03-04 0:10 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-03-04 0:04 [rfc 00/10] [Patch] Page flags: Cleanup, reorg and introduce 5 new flags Christoph Lameter 2008-03-04 0:04 ` [rfc 01/10] Pageflags: Use an enum for the flags Christoph Lameter 2008-03-04 0:04 ` [rfc 02/10] Pageflags: Introduce macros to generate page flag functions Christoph Lameter 2008-03-04 0:04 ` [rfc 03/10] Pageflags: Convert to the use of new macros Christoph Lameter 2008-03-04 0:04 ` [rfc 04/10] Pageflags: Use proper page flag functions in Xen Christoph Lameter 2008-03-04 0:04 ` [rfc 05/10] Pageflags: Eliminate PG_xxx aliases Christoph Lameter 2008-03-04 0:04 ` [rfc 06/10] Sparsemem: Vmemmap does not need section bits Christoph Lameter 2008-03-04 0:04 ` [rfc 07/10] Kbuild: Create a way to create preprocessor constants from C expressions Christoph Lameter 2008-03-04 0:05 ` [rfc 08/10] Pageflags: Get rid of FLAGS_RESERVED Christoph Lameter 2008-03-04 0:05 ` Christoph Lameter [this message] 2008-03-04 0:05 ` [rfc 10/10] Pageflags: Land grab Christoph Lameter 2008-03-04 1:27 ` Andi Kleen 2008-03-04 5:38 ` Christoph Lameter -- strict thread matches above, loose matches on Subject: below -- 2008-03-01 4:05 [rfc 00/10] [RFC] Page flags: Saving some, making handling easier etc Christoph Lameter 2008-03-01 4:05 ` [rfc 09/10] Get rid of __ZONE_COUNT Christoph Lameter
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080304000734.153878688@sgi.com \ --to=clameter@sgi.com \ --cc=akpm@linux-foundation.org \ --cc=linux-kernel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).