On 10/07/2013 06:28 AM, Mel Gorman wrote: > THP migration uses the page lock to guard against parallel allocations > but there are cases like this still open > > Task A Task B > do_huge_pmd_numa_page do_huge_pmd_numa_page > lock_page > mpol_misplaced == -1 > unlock_page > goto clear_pmdnuma > lock_page > mpol_misplaced == 2 > migrate_misplaced_transhuge > pmd = pmd_mknonnuma > set_pmd_at > > During hours of testing, one crashed with weird errors and while I have > no direct evidence, I suspect something like the race above happened. > This patch extends the page lock to being held until the pmd_numa is > cleared to prevent migration starting in parallel while the pmd_numa is > being cleared. It also flushes the old pmd entry and orders pagetable > insertion before rmap insertion. > > Cc: stable <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> -- All rights reversed -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>