On Tue, 17 Aug 2010, Christoph Lameter wrote: > Index: linux-2.6/mm/slub.c > =================================================================== > --- linux-2.6.orig/mm/slub.c 2010-08-13 10:33:09.000000000 -0500 > +++ linux-2.6/mm/slub.c 2010-08-13 10:33:13.000000000 -0500 > @@ -797,6 +797,7 @@ static void trace(struct kmem_cache *s, > */ > static inline int slab_pre_alloc_hook(struct kmem_cache *s, gfp_t flags) > { > + flags &= gfp_allowed_mask; > lockdep_trace_alloc(flags); > might_sleep_if(flags & __GFP_WAIT); > > @@ -805,6 +806,7 @@ static inline int slab_pre_alloc_hook(st > > static inline void slab_post_alloc_hook(struct kmem_cache *s, gfp_t flags, void *object) > { > + flags &= gfp_allowed_mask; > kmemcheck_slab_alloc(s, flags, object, s->objsize); > kmemleak_alloc_recursive(object, s->objsize, 1, s->flags, flags); > } > @@ -1678,6 +1680,7 @@ new_slab: > goto load_freelist; > } > > + gfpflags &= gfp_allowed_mask; > if (gfpflags & __GFP_WAIT) > local_irq_enable(); > Couldn't this include the masking of __GFP_ZERO at the beginning of __slab_alloc()? > @@ -1726,8 +1729,6 @@ static __always_inline void *slab_alloc( > struct kmem_cache_cpu *c; > unsigned long flags; > > - gfpflags &= gfp_allowed_mask; > - > if (!slab_pre_alloc_hook(s, gfpflags)) > return NULL; > > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>