public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [rfc][patch] Memory Binding Take 2 (0/1)
@ 2003-04-03  5:50 Matthew Dobson
  2003-04-03  5:56 ` [rfc][patch] Memory Binding Take 2 (1/1) Matthew Dobson
  2003-04-04 13:34 ` [rfc][patch] Memory Binding Take 2 (0/1) Christoph Hellwig
  0 siblings, 2 replies; 9+ messages in thread
From: Matthew Dobson @ 2003-04-03  5:50 UTC (permalink / raw)
  To: linux-kernel
  Cc: Martin J. Bligh, Andrew Morton, Christoph Hellwig, Paolo Zeppegno,
	Andi Kleen, lse-tech

[-- Attachment #1: Type: text/plain, Size: 342 bytes --]

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

[-- Attachment #2: 00-pre_membind.patch --]
[-- Type: text/plain, Size: 1786 bytes --]

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>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2003-04-04 13:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-03  5:50 [rfc][patch] Memory Binding Take 2 (0/1) Matthew Dobson
2003-04-03  5:56 ` [rfc][patch] Memory Binding Take 2 (1/1) Matthew Dobson
2003-04-03  6:37   ` Andrew Morton
2003-04-03 23:30     ` Matthew Dobson
2003-04-03 12:20   ` Hugh Dickins
2003-04-03 13:25     ` Paolo Zeppegno
2003-04-03 23:57     ` Matthew Dobson
2003-04-04 13:40   ` Christoph Hellwig
2003-04-04 13:34 ` [rfc][patch] Memory Binding Take 2 (0/1) Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox