Messages in this thread | | | Date | Fri, 10 Jan 2014 23:10:10 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH] mm: thp: Add per-mm_struct flag to control THP |
| |
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.
| |