Re: [PATCH 0/2] don't use mapcount() to check large folio sharing

From: Andrew Morton
Date: Mon Aug 07 2023 - 12:43:49 EST


On Fri, 4 Aug 2023 15:14:53 +0800 "Yin, Fengwei" <fengwei.yin@xxxxxxxxx> wrote:

> Hi Andrew,
>
> On 8/2/2023 8:39 PM, Yin, Fengwei wrote:
> > Hi Andrew,
> >
> > On 7/29/2023 1:24 AM, Andrew Morton wrote:
> >> On Sat, 29 Jul 2023 00:13:54 +0800 Yin Fengwei <fengwei.yin@xxxxxxxxx> wrote:
> >>
> >>> In madvise_cold_or_pageout_pte_range() and madvise_free_pte_range(),
> >>> folio_mapcount() is used to check whether the folio is shared. But it's
> >>> not correct as folio_mapcount() returns total mapcount of large folio.
> >>>
> >>> Use folio_estimated_sharers() here as the estimated number is enough.
> >>
> >> What are the user-visible runtime effects of these changes?
> >>
> >> (and please try to avoid using the same Subject: for different patches)
> >>
> >
> > Can you hold on these patches to mm-unstable? I think we need to wait for
> > David's work on folio_maybe_mapped_shared() and redo the fix base on that.
> > Thanks and sorry for the noise.
> Sorry for bothering you again for this patchset.
>
> Let me explain the situation here:
> - The reason to hold on the patches to mm-unstable is that I don't want to
> promote the fix in this patch (using folio_estimated_sharers()). The
> correct way is waiting for folio_maybe_mapped_shared() from David.
>
> Merging these patches motivate using folio_estimated_sharers() in other
> places. So once folio_maybe_mapped_shared() is ready, we need to replace
> folio_estimated_sharers() with folio_maybe_mapped_shared().
>
> - For this specific patches, if they are suitable for stable, we may want to
> merge it (special for stable branch. I assume folio_maybe_mapped_shared()
> may not be back ported to stable branch).
>
> So how do we deal with this situation? Thanks in advance.
>

I think I'll stage them for 6.5, with a cc:stable.

I'll drop the current three patches. Please resend with

a) different Subject:s for all patches and

b) changelogs which fully describe the user-visible effects of the change.

Thanks.