On Mon 17-06-13 16:34:23, Roman Gushchin wrote: > On 15.06.2013 00:26, David Rientjes wrote: > >On Fri, 14 Jun 2013, Christoph Lameter wrote: > > > >>>It's possible to avoid such problems (or at least to make them less probable) > >>>by avoiding direct compaction. If it's not possible to allocate a contiguous > >>>page without compaction, slub will fall back to order 0 page(s). In this case > >>>kswapd will be woken to perform asynchronous compaction. So, slub can return > >>>to default order allocations as soon as memory will be de-fragmented. > >> > >>Sounds like a good idea. Do you have some numbers to show the effect of > >>this patch? > >> > > > >I'm surprised you like this patch, it basically makes slub allocations to > >be atomic and doesn't try memory compaction nor reclaim. Asynchronous > >compaction certainly isn't aggressive enough to mimick the effects of the > >old lumpy reclaim that would have resulted in less fragmented memory. If > >slub is the only thing that is doing high-order allocations, it will start > >falling back to the smallest page order much much more often. > > > >I agree that this doesn't seem like a slub issue at all but rather a page > >allocator issue; if we have many simultaneous thp faults at the same time > >and /sys/kernel/mm/transparent_hugepage/defrag is "always" then you'll get > >the same problem if deferred compaction isn't helping. > > > >So I don't think we should be patching slub in any special way here. > > > >Roman, are you using the latest kernel? If so, what does > >grep compact_ /proc/vmstat show after one or more of these events? > > > > We're using 3.4. And the problem reveals when we moved from 3.2 to 3.4. > It can be also reproduced on 3.5. FWIW, there were some compaction locking related patches merged around 3.7. See 2a1402aa044b55c2d30ab0ed9405693ef06fb07c and follow ups. > I'll send the exact numbers as soon I'll reproduce it again. > It can take up to 1 week. > > Thanks! > > Regards, > Roman > > -- > 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> -- Michal Hocko SUSE Labs -- 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>