On Mon, Apr 30, 2007 at 01:46:18AM +0200, Andi Kleen wrote: > > Ugly ifdef, but should handle all 64bit platforms that have suitable > zones. On some like Altix it's probably impossible without IOMMU > use to get memory <4GB this way, but they have to live with that. > Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> > > --- > mm/vmalloc.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > Index: linux/mm/vmalloc.c > =================================================================== > --- linux.orig/mm/vmalloc.c > +++ linux/mm/vmalloc.c > @@ -577,6 +577,14 @@ void *vmalloc_exec(unsigned long size) > return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC); > } > > +#if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32) > +#define GFP_VMALLOC32 GFP_DMA32 > +#elif defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA) > +#define GFP_VMALLOC32 GFP_DMA > +#else > +#define GFP_VMALLOC32 GFP_KERNEL > +#endif > +
Isn't the following shorter: Index: 2.6.21/mm/vmalloc.c =================================================================== --- 2.6.21.orig/mm/vmalloc.c +++ 2.6.21/mm/vmalloc.c @@ -577,6 +577,15 @@ void *vmalloc_exec(unsigned long size) return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC); } +#if defined(CONFIG_64BIT) + #if defined(CONFIG_ZONE_DMA32) + #define GFP_VMALLOC32 GFP_DMA32 + #elif defined(CONFIG_ZONE_DMA) + #define GFP_VMALLOC32 GFP_DMA +#else + #define GFP_VMALLOC32 GFP_KERNEL +#endif + /** * vmalloc_32 - allocate virtually contiguous memory (32bit addressable) * @size: allocation size -- Regards/Gruß, Boris. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/