]> git.baikalelectronics.ru Git - kernel.git/commit
mm: migrate: do not migrate HugeTLB page whose refcount is one
authorMuchun Song <songmuchun@bytedance.com>
Fri, 5 Feb 2021 02:32:17 +0000 (18:32 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Feb 2021 19:03:47 +0000 (11:03 -0800)
commit38369d3b3fb23b806c85e102c75651f574359e3c
tree06b2adc309c0ea17f899cf8447f86dd11d797b15
parent969027c8ce743b8908b6573745d8cb24f87b6c5b
mm: migrate: do not migrate HugeTLB page whose refcount is one

All pages isolated for the migration have an elevated reference count and
therefore seeing a reference count equal to 1 means that the last user of
the page has dropped the reference and the page has became unused and
there doesn't make much sense to migrate it anymore.

This has been done for regular pages and this patch does the same for
hugetlb pages.  Although the likelihood of the race is rather small for
hugetlb pages it makes sense the two code paths in sync.

Link: https://lkml.kernel.org/r/20210115124942.46403-2-songmuchun@bytedance.com
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Acked-by: Yang Shi <shy828301@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/migrate.c