[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <526e5156-6c4b-9f2c-1637-2f83c1dfea1e@redhat.com>
Date: Wed, 25 Jan 2023 11:24:16 +0100
From: David Hildenbrand <david@...hat.com>
To: "Vishal Moola (Oracle)" <vishal.moola@...il.com>,
linux-mm@...ck.org
Cc: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH mm-unstable v2 1/6] mm: Add folio_estimated_mapcount()
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@...il.com>
>> ---
>> 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
Powered by blists - more mailing lists