Messages in this thread Patch in this message | | | Date | Tue, 01 Apr 2003 14:31:55 -0800 | From | Matthew Dobson <> | Subject | [patch][rfc] Memory Binding (0/1) |
| |
So I've made a couple attempts at adding a Memory Binding facility to the kernel. Obviously, I've had no success as yet, so I'm stubbornly trying another approach! ;)
This patch is just a small pre-patch to the real memory binding. It just adds get_zonelist() and get_node_zonelist() calls, to make some code a little more readable. This patch is super straight-forward. The real fun is in the next patch...
[mcd@arrakis membind]$ diffstat 00-pre_membind.patch gfp.h | 2 +- mmzone.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-)
-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 */ | |