diff options
| author | David Hildenbrand <[email protected]> | 2023-09-13 14:51:10 +0200 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-10-04 10:32:27 -0700 |
| commit | c5c540034747dfe450f64d1151081a6080daa8f9 (patch) | |
| tree | 413ff65dfbb8aba5b1f7fa091963e6bfd9bd6c94 /include/linux/debugobjects.h | |
| parent | c66db8c0702c0ab741ecfd5e12b323ff49fe9089 (diff) | |
mm/rmap: move folio_test_anon() check out of __folio_set_anon()
Let's handle it in the caller; no need for the "first" check based on the
mapcount.
We really only end up with !anon pages in page_add_anon_rmap() via
do_swap_page(), where we hold the folio lock. So races are not possible.
Add a VM_WARN_ON_FOLIO() to make sure that we really hold the folio lock.
In the future, we might want to let do_swap_page() use
folio_add_new_anon_rmap() on new pages instead: however, we might have to
pass then whether the folio is exclusive or not. So keep it in there for
now.
For hugetlb we never expect to have a non-anon page in
hugepage_add_anon_rmap(). Remove that code, along with some other checks
that are either not required or were checked in
hugepage_add_new_anon_rmap() already.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: David Hildenbrand <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Mike Kravetz <[email protected]>
Cc: Muchun Song <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions