Commit 1aa4d03b authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Andrew Morton

mm: remove head_compound_mapcount() and _ptr functions

folio_mapcount_ptr(), compound_mapcount_ptr() and subpages_mapcount_ptr()
are all now unused.

Link: https://lkml.kernel.org/r/20230111142915.1001531-16-willy@infradead.orgSigned-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent c97eeb8f
...@@ -831,16 +831,7 @@ static inline int is_vmalloc_or_module_addr(const void *x) ...@@ -831,16 +831,7 @@ static inline int is_vmalloc_or_module_addr(const void *x)
static inline int folio_entire_mapcount(struct folio *folio) static inline int folio_entire_mapcount(struct folio *folio)
{ {
VM_BUG_ON_FOLIO(!folio_test_large(folio), folio); VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
return atomic_read(folio_mapcount_ptr(folio)) + 1; return atomic_read(&folio->_entire_mapcount) + 1;
}
/*
* Mapcount of compound page as a whole, does not include mapped sub-pages.
* Must be called only on head of compound page.
*/
static inline int head_compound_mapcount(struct page *head)
{
return atomic_read(compound_mapcount_ptr(head)) + 1;
} }
/* /*
...@@ -905,11 +896,11 @@ static inline int total_mapcount(struct page *page) ...@@ -905,11 +896,11 @@ static inline int total_mapcount(struct page *page)
static inline bool folio_large_is_mapped(struct folio *folio) static inline bool folio_large_is_mapped(struct folio *folio)
{ {
/* /*
* Reading folio_mapcount_ptr() below could be omitted if hugetlb * Reading _entire_mapcount below could be omitted if hugetlb
* participated in incrementing nr_pages_mapped when compound mapped. * participated in incrementing nr_pages_mapped when compound mapped.
*/ */
return atomic_read(&folio->_nr_pages_mapped) > 0 || return atomic_read(&folio->_nr_pages_mapped) > 0 ||
atomic_read(folio_mapcount_ptr(folio)) >= 0; atomic_read(&folio->_entire_mapcount) >= 0;
} }
/** /**
......
...@@ -421,22 +421,6 @@ FOLIO_MATCH(hugetlb_cgroup_rsvd, _hugetlb_cgroup_rsvd); ...@@ -421,22 +421,6 @@ FOLIO_MATCH(hugetlb_cgroup_rsvd, _hugetlb_cgroup_rsvd);
FOLIO_MATCH(hugetlb_hwpoison, _hugetlb_hwpoison); FOLIO_MATCH(hugetlb_hwpoison, _hugetlb_hwpoison);
#undef FOLIO_MATCH #undef FOLIO_MATCH
static inline atomic_t *folio_mapcount_ptr(struct folio *folio)
{
struct page *tail = &folio->page + 1;
return &tail->compound_mapcount;
}
static inline atomic_t *compound_mapcount_ptr(struct page *page)
{
return &page[1].compound_mapcount;
}
static inline atomic_t *subpages_mapcount_ptr(struct page *page)
{
return &page[1].subpages_mapcount;
}
/* /*
* Used for sizing the vmemmap region on some architectures * Used for sizing the vmemmap region on some architectures
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment