DMA32 zone unusable
From: Mika Penttilä
Date: Wed Nov 16 2005 - 10:22:43 EST
The new DMA32 zone (which at least x86-64 has) is quite "interesting" :
#define __GFP_DMA32 ((__force gfp_t)0x04) <-----!!!!!
#define GFP_ZONEMASK 0x03 <------!!!!!
#define gfp_zone(mask) ((__force int)((mask) & (__force gfp_t)GFP_ZONEMASK))
static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
unsigned int order)
{
if (unlikely(order >= MAX_ORDER))
return NULL;
return __alloc_pages(gfp_mask, order,
NODE_DATA(nid)->node_zonelists + gfp_zone(gfp_mask));
}
So with GFP_DMA32 you never get those pages (but DMA instead).
--Mika
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/