On Mon, Apr 25, 2022 at 01:07:41PM +0100, David Howells wrote: > Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > OK. You suggested that releasepage was an acceptable place to call it. > > How about we have AS_RELEASE_ALL (... or something ...) and then > > page_has_private() becomes a bit more complicated ... to the point > > where we should probably get rid of it (by embedding it into > > filemap_release_folio(): > > I'm not sure page_has_private() is quite so easy to get rid of. > shrink_page_list() and collapse_file(), for example, use it to conditionalise > a call to try_to_release_page() plus some other bits. That's what I was saying. Make the calls to try_to_release_page() unconditional and delete page_has_private() because it only confuses people who should actually be using PagePrivate(). > I think that, for the moment, I would need to add a check for AS_RELEASE_ALL > to page_has_private(). > > David > >