]> git.baikalelectronics.ru Git - kernel.git/commit
mm: migrate: simplify the file-backed pages validation when migrating its mapping
authorBaolin Wang <baolin.wang@linux.alibaba.com>
Thu, 11 Nov 2021 04:32:37 +0000 (20:32 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Nov 2021 17:34:35 +0000 (09:34 -0800)
commit1bb7586fd560024b7b6dfc23c586775453d9ed9c
treedd99593b7465520a2148ed124d1e36312fec938f
parent2f1db12f6baa9a6b7a3d6f3d42c3f8819ccd1bce
mm: migrate: simplify the file-backed pages validation when migrating its mapping

There is no need to validate the file-backed page's refcount before
trying to freeze the page's expected refcount, instead we can rely on
the folio_ref_freeze() to validate if the page has the expected refcount
before migrating its mapping.

Moreover we are always under the page lock when migrating the page
mapping, which means nowhere else can remove it from the page cache, so
we can remove the xas_load() validation under the i_pages lock.

Link: https://lkml.kernel.org/r/cover.1629447552.git.baolin.wang@linux.alibaba.com
Link: https://lkml.kernel.org/r/df4c129fd8e86a95dbc55f4663d77441cc0d3bd1.1629447552.git.baolin.wang@linux.alibaba.com
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Suggested-by: Matthew Wilcox <willy@infradead.org>
Cc: Yang Shi <shy828301@gmail.com>
Cc: Alistair Popple <apopple@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/migrate.c