Re: [PATCH] gfp_t

From: Rasmus Andersen (rasmus@jaquet.dk)
Date: Thu Sep 26 2002 - 14:29:32 EST


On Thu, Sep 26, 2002 at 08:59:24PM +0200, Rasmus Andersen wrote:
> On Thu, Sep 26, 2002 at 02:35:30PM +1000, Rusty Russell wrote:
> > This creates a mythical gfp_t for passing gfp states, and conversion
> > macros __GFP() and __UNGFP(), to give warnings, It's 55k, so
> > compressed and attached.
>
> This breaks ntfs/malloc.h which is doing the following:
> 49: return __vmalloc(size, GFP_NOFS | __GFP_HIGHMEM, PAGE_KERNEL);
[...]

After having had a bit more caffeine, I guess I would like to
change my previous mail to: These two patches for mm/numa.c and
ntfs/malloc.h needs to be in your patchset as well.

--- linux-2.5.38/mm/numa.c Sun Sep 22 06:25:17 2002
+++ /home/rasmus/transport/linux-2.5.38/mm/numa.c Thu Sep 26 21:18:59 2002
@@ -42,10 +42,10 @@
 
 #endif /* !CONFIG_DISCONTIGMEM */
 
-struct page * alloc_pages_node(int nid, unsigned int gfp_mask, unsigned int order)
+struct page * alloc_pages_node(int nid, gfp_t gfp_mask, unsigned int order)
 {
 #ifdef CONFIG_NUMA
- return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK));
+ return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (__UNGFP(gfp_mask) & GFP_ZONEMASK));
 #else
         return alloc_pages(gfp_mask, order);
 #endif

--- linux-2.5.38/fs/ntfs/malloc.h Sun Sep 22 06:25:01 2002
+++ /home/rasmus/transport/linux-2.5.38/fs/ntfs/malloc.h Thu Sep 26 21:15:55 2002
@@ -46,7 +46,7 @@
                 BUG();
         }
         if (likely(size >> PAGE_SHIFT < num_physpages))
- return __vmalloc(size, GFP_NOFS | __GFP_HIGHMEM, PAGE_KERNEL);
+ return __vmalloc(size, gfp_sub(GFP_NOFS, __GFP_HIGHMEM), PAGE_KERNEL);
         return NULL;
 }
 

Regards,
  Rasmus



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Sep 30 2002 - 22:00:27 EST