On 12/09/2013 02:08 AM, Mel Gorman wrote: > Base pages are unmapped and flushed from cache and TLB during normal page > migration and replaced with a migration entry that causes any parallel or > gup to block until migration completes. THP does not unmap pages due to > a lack of support for migration entries at a PMD level. This allows races > with get_user_pages and get_user_pages_fast which commit 3f926ab94 ("mm: > Close races between THP migration and PMD numa clearing") made worse by > introducing a pmd_clear_flush(). > > This patch forces get_user_page (fast and normal) on a pmd_numa page to > go through the slow get_user_page path where it will serialise against THP > migration and properly account for the NUMA hinting fault. On the migration > side the page table lock is taken for each PTE update. > > Cc: 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>