On Fri, Jan 10, 2014 at 04:01:55PM -0600, Alex Thorlton wrote: > On Fri, Jan 10, 2014 at 10:23:10PM +0200, Kirill A. Shutemov wrote: > > Do you know what cause the difference? I prefer to fix THP instead of > > adding new knob to disable it. > > The issue is that when you touch 1 byte of an untouched, contiguous 2MB > chunk, a THP will be handed out, and the THP will be stuck on whatever > node the chunk was originally referenced from. If many remote nodes > need to do work on that same chunk, they'll be making remote accesses. > With THP disabled, 4K pages can be handed out to separate nodes as > they're needed, greatly reducing the amount of remote accesses to > memory. I give a bit better description here: > > https://lkml.org/lkml/2013/8/27/397 > > I had been looking into better ways to handle this issues, but after > spinning through a few other ideas: > > - Per cpuset flag to control THP: > https://lkml.org/lkml/2013/6/10/331 > > - Threshold to determine when to hand out THPs: > https://lkml.org/lkml/2013/12/12/394 > > We've arrived back here. Andrea seemed to think that this is an > acceptable approach to solve the problem, at least as a starting point: > > https://lkml.org/lkml/2013/12/17/397 > > I agree that we should, ideally, come up with a way to appropriately > handle this problem in the kernel, but as of right now, it appears that > that might be a rather large undertaking. We already have the information to determine if a page is shared across nodes, Mel even had some prototype code to do splits under those conditions. -- 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>