Re: [PATCH] gfp_t

From: Rasmus Andersen (rasmus@jaquet.dk)
Date: Thu Sep 26 2002 - 16:15:05 EST


On Thu, Sep 26, 2002 at 09:29:32PM +0200, Rasmus Andersen wrote:
> 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.

Another one:

--- linux-2.5.38/drivers/char/synclink.c Sun Sep 22 06:25:06 2002
+++ linux-2.5.38-gfp/drivers/char/synclink.c Thu Sep 26 23:01:57 2002
@@ -3975,7 +3975,7 @@
                 /* inspect portions of the buffer while other portions are being */
                 /* updated by the adapter using Bus Master DMA. */
 
- info->buffer_list = kmalloc(BUFFERLISTSIZE, GFP_KERNEL | GFP_DMA);
+ info->buffer_list = kmalloc(BUFFERLISTSIZE, gfp_sub(GFP_KERNEL, __UNGFP(GFP_DMA)));
                 if ( info->buffer_list == NULL )
                         return -ENOMEM;
                         
@@ -4087,7 +4087,7 @@
                 } else {
                         /* ISA adapter uses system memory. */
                         BufferList[i].virt_addr =
- kmalloc(DMABUFFERSIZE, GFP_KERNEL | GFP_DMA);
+ kmalloc(DMABUFFERSIZE, gfp_sub(GFP_KERNEL, __UNGFP(GFP_DMA)));
                         if ( BufferList[i].virt_addr == NULL )
                                 return -ENOMEM;
                         phys_addr = isa_virt_to_bus(BufferList[i].virt_addr);
@@ -4159,7 +4159,7 @@
  */
 int mgsl_alloc_intermediate_rxbuffer_memory(struct mgsl_struct *info)
 {
- info->intermediate_rxbuffer = kmalloc(info->max_frame_size, GFP_KERNEL | GFP_DMA);
+ info->intermediate_rxbuffer = kmalloc(info->max_frame_size, gfp_sub(GFP_KERNEL, __UNGFP(GFP_DMA)));
         if ( info->intermediate_rxbuffer == NULL )
                 return -ENOMEM;
 
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:28 EST