On Wed, Nov 03, 2010 at 04:27:58PM +0100, Andrea Arcangeli wrote: > From: Andrea Arcangeli <aarcange@xxxxxxxxxx> > > This increase the size of the mm struct a bit but it is needed to preallocate > one pte for each hugepage so that split_huge_page will not require a fail path. > Guarantee of success is a fundamental property of split_huge_page to avoid > decrasing swapping reliability and to avoid adding -ENOMEM fail paths that > would otherwise force the hugepage-unaware VM code to learn rolling back in the > middle of its pte mangling operations (if something we need it to learn > handling pmd_trans_huge natively rather being capable of rollback). When > split_huge_page runs a pte is needed to succeed the split, to map the newly > splitted regular pages with a regular pte. This way all existing VM code > remains backwards compatible by just adding a split_huge_page* one liner. The > memory waste of those preallocated ptes is negligible and so it is worth it. > > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Mel Gorman <mel@xxxxxxxxx> -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>