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
--
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Lameter <clameter@sgi.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Mel Gorman <mel@csn.ul.ie>,
apw@shadowen.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Rik van Riel <riel@redhat.com>,
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: 26+ 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 ` Christoph Lameter
2008-03-04 0:04 ` [rfc 01/10] Pageflags: Use an enum for the flags Christoph Lameter
2008-03-04 0:04 ` 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 ` 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 ` 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 ` Christoph Lameter
2008-03-04 0:04 ` [rfc 05/10] Pageflags: Eliminate PG_xxx aliases Christoph Lameter
2008-03-04 0:04 ` Christoph Lameter
2008-03-04 0:04 ` [rfc 06/10] Sparsemem: Vmemmap does not need section bits Christoph Lameter
2008-03-04 0:04 ` 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:04 ` 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
2008-03-04 0:05 ` Christoph Lameter [this message]
2008-03-04 0:05 ` [rfc 09/10] Get rid of __ZONE_COUNT Christoph Lameter
2008-03-04 0:05 ` [rfc 10/10] Pageflags: Land grab Christoph Lameter
2008-03-04 0:05 ` 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:07 [rfc 00/10] [RFC] Page flags: Saving some, making handling easier etc Christoph Lameter
2008-03-01 4:08 ` [rfc 09/10] Get rid of __ZONE_COUNT Christoph Lameter
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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.