Re: [RFC][PATCH 2/6] pagewalk: only split huge pages when necessary

From: Dave Hansen
Date: Tue Feb 01 2011 - 10:04:08 EST


On Tue, 2011-02-01 at 11:04 +0100, Johannes Weiner wrote:
> On Mon, Jan 31, 2011 at 04:33:59PM -0800, Dave Hansen wrote:
> > Right now, if a mm_walk has either ->pte_entry or ->pmd_entry
> > set, it will unconditionally split and transparent huge pages
> > it runs in to. In practice, that means that anyone doing a
> >
> > cat /proc/$pid/smaps
> >
> > will unconditionally break down every huge page in the process
> > and depend on khugepaged to re-collapse it later. This is
> > fairly suboptimal.
> >
> > This patch changes that behavior. It teaches each ->pmd_entry
> > handler (there are three) that they must break down the THPs
> > themselves. Also, the _generic_ code will never break down
> > a THP unless a ->pte_entry handler is actually set.
> >
> > This means that the ->pmd_entry handlers can now choose to
> > deal with THPs without breaking them down.
>
> Makes perfect sense. But you forgot to push down the splitting into
> the two handlers in mm/memcontrol.c.

I did indeed. I'll go fix those up. Thanks for the review!

-- Dave

--
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/