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.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
c97eeb8f26
Коммит
1aa4d03b60
|
@ -831,16 +831,7 @@ static inline int is_vmalloc_or_module_addr(const void *x)
|
|||
static inline int folio_entire_mapcount(struct folio *folio)
|
||||
{
|
||||
VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
|
||||
return atomic_read(folio_mapcount_ptr(folio)) + 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;
|
||||
return atomic_read(&folio->_entire_mapcount) + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -905,11 +896,11 @@ static inline int total_mapcount(struct page *page)
|
|||
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.
|
||||
*/
|
||||
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);
|
|||
FOLIO_MATCH(hugetlb_hwpoison, _hugetlb_hwpoison);
|
||||
#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
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче