|
|
Subscribe / Log in / New account

Memory Binding Take 2 (0/1)

From:  Matthew Dobson <colpatch@us.ibm.com>
To:  linux-kernel@vger.kernel.org
Subject:  [rfc][patch] Memory Binding Take 2 (0/1)
Date:  Wed, 02 Apr 2003 21:50:14 -0800
Cc:  "Martin J. Bligh" <mbligh@aracnet.com>, Andrew Morton <akpm@digeo.com>, Christoph Hellwig <hch@infradead.org>, Paolo Zeppegno <zeppegno.paolo@seat.it>, Andi Kleen <ak@muc.de>, lse-tech <lse-tech@lists.sourceforge.net>

Alrighty, let's give this another go...

This patch hasn't changed much.  Just added bitmap_t, typedef'd to 
unsigned long * for passing around bitmaps without breaking the 
abstraction.  I think it's good if we can keep the underlying data type 
hidden to partially future-proof (protect? ;) the code.

Part 1/1 coming up...

Cheers!

-Matt
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.66-vanilla/include/linux/gfp.h linux-2.5.66-pre_membind/include/linux/gfp.h
--- linux-2.5.66-vanilla/include/linux/gfp.h	Mon Mar 24 14:00:10 2003
+++ linux-2.5.66-pre_membind/include/linux/gfp.h	Mon Mar 31 17:38:47 2003
@@ -52,7 +52,7 @@
 	if (unlikely(order >= MAX_ORDER))
 		return NULL;
 
-	return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK));
+	return __alloc_pages(gfp_mask, order, get_node_zonelist(nid, gfp_mask));
 }
 
 #define alloc_pages(gfp_mask, order) \
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.66-vanilla/include/linux/mmzone.h linux-2.5.66-pre_membind/include/linux/mmzone.h
--- linux-2.5.66-vanilla/include/linux/mmzone.h	Mon Mar 24 14:00:45 2003
+++ linux-2.5.66-pre_membind/include/linux/mmzone.h	Mon Mar 31 17:38:47 2003
@@ -326,6 +326,14 @@
 #define num_online_memblks()		1
 
 #endif /* CONFIG_DISCONTIGMEM || CONFIG_NUMA */
+
+static inline struct zonelist *get_node_zonelist(int nid, int gfp_mask)
+{
+	return NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK);
+}
+
+#define get_zonelist(gfp_mask) get_node_zonelist(numa_node_id(), gfp_mask)
+
 #endif /* !__ASSEMBLY__ */
 #endif /* __KERNEL__ */
 #endif /* _LINUX_MMZONE_H */
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.66-vanilla/include/linux/types.h linux-2.5.66-pre_membind/include/linux/types.h
--- linux-2.5.66-vanilla/include/linux/types.h	Mon Mar 24 14:01:24 2003
+++ linux-2.5.66-pre_membind/include/linux/types.h	Wed Apr  2 18:13:27 2003
@@ -10,6 +10,7 @@
 	unsigned long name[BITS_TO_LONGS(bits)]
 #define CLEAR_BITMAP(name,bits) \
 	memset(name, 0, BITS_TO_LONGS(bits)*sizeof(unsigned long))
+typedef unsigned long * bitmap_t;
 #endif
 
 #include <linux/posix_types.h>


Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds