Re: [RFC PATCH] mm: thp: Add per-mm_struct flag to control THP

From: Peter Zijlstra
Date: Fri Jan 10 2014 - 17:10:59 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/