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

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: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent c97eeb8f
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -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;
}

/**
+0 −16
Original line number Diff line number Diff line
@@ -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
 */