On 10/07/2013 06:28 AM, Mel Gorman wrote: > The locking for migrating THP is unusual. While normal page migration > prevents parallel accesses using a migration PTE, THP migration relies on > a combination of the page_table_lock, the page lock and the existance of > the NUMA hinting PTE to guarantee safety but there is a bug in the scheme. > > If a THP page is currently being migrated and another thread traps a > fault on the same page it checks if the page is misplaced. If it is not, > then pmd_numa is cleared. The problem is that it checks if the page is > misplaced without holding the page lock meaning that the racing thread > can be migrating the THP when the second thread clears the NUMA bit > and faults a stale page. > > This patch checks if the page is potentially being migrated and stalls > using the lock_page if it is potentially being migrated before checking > if the page is misplaced or not. > > Cc: stable <sta...@vger.kernel.org> > Signed-off-by: Peter Zijlstra <pet...@infradead.org> > Signed-off-by: Mel Gorman <mgor...@suse.de>
Acked-by: Rik van Riel <r...@redhat.com> -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/