forked from Minki/linux
mm/migration: remove unneeded lock page and PageMovable check
When non-lru movable page was freed from under us, __ClearPageMovable must have been done. So we can remove unneeded lock page and PageMovable check here. Also free_pages_prepare() will clear PG_isolated for us, so we can further remove ClearPageIsolated as suggested by David. Link: https://lkml.kernel.org/r/20220530113016.16663-3-linmiaohe@huawei.com Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Oscar Salvador <osalvador@suse.de> Reviewed-by: David Hildenbrand <david@redhat.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christoph Lameter <cl@linux.com> Cc: David Howells <dhowells@redhat.com> Cc: Huang Ying <ying.huang@intel.com> Cc: kernel test robot <lkp@intel.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Muchun Song <songmuchun@bytedance.com> Cc: Peter Xu <peterx@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
c453d8c7d1
commit
160088b3b6
@ -1090,15 +1090,10 @@ static int unmap_and_move(new_page_t get_new_page,
|
||||
return -ENOSYS;
|
||||
|
||||
if (page_count(page) == 1) {
|
||||
/* page was freed from under us. So we are done. */
|
||||
/* Page was freed from under us. So we are done. */
|
||||
ClearPageActive(page);
|
||||
ClearPageUnevictable(page);
|
||||
if (unlikely(__PageMovable(page))) {
|
||||
lock_page(page);
|
||||
if (!PageMovable(page))
|
||||
ClearPageIsolated(page);
|
||||
unlock_page(page);
|
||||
}
|
||||
/* free_pages_prepare() will clear PG_isolated. */
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user