Re: [PATCH mm-unstable v2 1/6] mm: Add folio_estimated_mapcount()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25.01.23 11:20, David Hildenbrand wrote:
On 24.01.23 02:22, Vishal Moola (Oracle) wrote:
folio_estimated_mapcount() takes in a folio and calls page_mapcount() on
the first page of that folio.

This is necessary for folio conversions where we only care about either the
entire_mapcount of a large folio, or the mapcount of a not large folio.

This is in contrast to folio_mapcount() which calculates the total
number of the times a folio and its subpages are mapped.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@xxxxxxxxx>
---
   include/linux/mm.h | 5 +++++
   1 file changed, 5 insertions(+)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index c9db257f09b3..543c360f7ecc 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -875,6 +875,11 @@ static inline int page_mapcount(struct page *page)
   	return mapcount;
   }
+static inline int folio_estimated_mapcount(struct folio *folio)
+{
+	return page_mapcount(folio_page(folio, 0));
+}
+
   int folio_total_mapcount(struct folio *folio);
/**

I'm sorry, but "estimated" as absolutely unclear semantics. You could
have a THP mapped into 9999 processes using THP and the estimation would
be "0".

... or would it be 9999 ? What about a PMD-mapped THP? What about a partially unmapped THP?

What are we estimating?

--
Thanks,

David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux