Hi Christoph, On Fri, Sep 26, 2014 at 11:31:31AM -0500, Christoph Lameter wrote: > On Fri, 26 Sep 2014, Vladimir Davydov wrote: > > > To avoid this we should use softwall cpuset check in fallback_alloc. > > Its weird that softwall checking occurs by setting __GFP_HARDWALL. Hmm, I don't think I follow. Currently we enforce *hardwall* check by passing __GFP_HARDWALL to cpuset_zone_allowed(). However, we need softwall check there to conform to the page allocator behavior, so I remove the __GFP_HARDWALL flag from cpuset_zone_allowed() to get softwall check. Actually, initially we used softwall check in fallback_alloc(). This was changed to hardwall check by commit b8b50b6519afa ("mm: fallback_alloc cpuset_zone_allowed irq fix") in order to fix sleep-in-atomic bug, because at that time softwall check required taking the callback_mutex while fallback_alloc is called with interrupts disabled. Thanks, Vladimir > > > > Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> > > --- > > mm/slab.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/slab.c b/mm/slab.c > > index eb6f0cf6875c..e35822d07821 100644 > > --- a/mm/slab.c > > +++ b/mm/slab.c > > @@ -3051,7 +3051,7 @@ retry: > > for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) { > > nid = zone_to_nid(zone); > > > > - if (cpuset_zone_allowed(zone, flags | __GFP_HARDWALL) && > > + if (cpuset_zone_allowed(zone, flags) && > > get_node(cache, nid) && > > get_node(cache, nid)->free_objects) { > > obj = ____cache_alloc_node(cache, > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>