2003-02-22 00:29:59

by Matthew Dobson

[permalink] [raw]
Subject: [rfc][patch] clean up redundant code for alloc_pages

diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.62-vanilla/include/linux/gfp.h linux-2.5.62-alloc_pages/include/linux/gfp.h
--- linux-2.5.62-vanilla/include/linux/gfp.h Mon Feb 17 14:56:09 2003
+++ linux-2.5.62-alloc_pages/include/linux/gfp.h Fri Feb 21 16:15:59 2003
@@ -49,24 +49,16 @@
extern struct page * FASTCALL(__alloc_pages(unsigned int, unsigned int, struct zonelist *));
static inline struct page * alloc_pages_node(int nid, unsigned int gfp_mask, unsigned int order)
{
- struct pglist_data *pgdat = NODE_DATA(nid);
- unsigned int idx = (gfp_mask & GFP_ZONEMASK);
-
if (unlikely(order >= MAX_ORDER))
return NULL;
- return __alloc_pages(gfp_mask, order, pgdat->node_zonelists + idx);
-}
-static inline struct page * alloc_pages(unsigned int gfp_mask, unsigned int order)
-{
- struct pglist_data *pgdat = NODE_DATA(numa_node_id());
- unsigned int idx = (gfp_mask & GFP_ZONEMASK);

- if (unlikely(order >= MAX_ORDER))
- return NULL;
- return __alloc_pages(gfp_mask, order, pgdat->node_zonelists + idx);
+ return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK));
}

-#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)
+#define alloc_pages(gfp_mask, order) \
+ alloc_pages_node(numa_node_id(), gfp_mask, order)
+#define alloc_page(gfp_mask) \
+ alloc_pages_node(numa_node_id(), gfp_mask, 0)

extern unsigned long FASTCALL(__get_free_pages(unsigned int gfp_mask, unsigned int order));
extern unsigned long FASTCALL(get_zeroed_page(unsigned int gfp_mask));


Attachments:
alloc_pages_cleanup-2.5.62.patch (1.49 kB)