Messages in this thread | | | Date | Wed, 23 Feb 2011 10:30:30 -0500 | From | Eric B Munson <> | Subject | Re: [PATCH 1/5] pagewalk: only split huge pages when necessary |
| |
On Mon, 21 Feb 2011, Dave Hansen wrote:
> > v2 - rework if() block, and remove now redundant split_huge_page() > > Right now, if a mm_walk has either ->pte_entry or ->pmd_entry > set, it will unconditionally split any 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 five) 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. > > Acked-by: Mel Gorman <mel@csn.ul.ie> > Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
I have been running this set for serveral hours now and viewing various smaps files is not causing wild shifts in my AnonHugePages: counter.
Reviewed-and-tested-by: Eric B Munson <emunson@mgebm.net> [unhandled content-type:application/pgp-signature] | |