References: https://bugs.freedesktop.org/show_bug.cgi?id=104009
Suggest-Cc: Kirill A. Shutemov <[email protected]> Suggest-Cc: Vlastimil Babka <[email protected]> Suggest-Cc: Jerome Marchand <[email protected]> Suggest-Cc: Andrea Arcangeli <[email protected]> Suggest-Cc: Hugh Dickins <[email protected]> Suggest-Cc: Dave Hansen <[email protected]> Suggest-Cc: Mel Gorman <[email protected]> Suggest-Cc: Rik van Riel <[email protected]> Suggest-Cc: Johannes Weiner <[email protected]> Suggest-Cc: Michal Hocko <[email protected]> Suggest-Cc: Christoph Lameter <[email protected]> Suggest-Cc: David Rientjes <[email protected]> Suggest-Cc: Andrew Morton <[email protected]> --- mm/huge_memory.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 2f2f5e774902..e555a90ad079 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2791,10 +2791,13 @@ static unsigned long deferred_split_scan(struct shrinker *shrink, list_for_each_safe(pos, next, &list) { page = list_entry((void *)pos, struct page, mapping); - lock_page(page); + if (!trylock_page(page)) + continue; + /* split_huge_page() removes page from list on success */ if (!split_huge_page(page)) split++; + unlock_page(page); put_page(page); } -- 2.15.1 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
