Re: [PATCH v2 05/46] mm: Add arch_make_folio_accessible()

From: Matthew Wilcox
Date: Mon Jun 28 2021 - 10:09:21 EST


On Mon, Jun 28, 2021 at 07:21:01AM +0100, Christoph Hellwig wrote:
> On Thu, Jun 24, 2021 at 04:57:29PM +0100, Matthew Wilcox wrote:
> > On Wed, Jun 23, 2021 at 10:00:37AM +0200, Christoph Hellwig wrote:
> > > On Tue, Jun 22, 2021 at 01:15:10PM +0100, Matthew Wilcox (Oracle) wrote:
> > > > As a default implementation, call arch_make_page_accessible n times.
> > > > If an architecture can do better, it can override this.
> > > >
> > > > Also move the default implementation of arch_make_page_accessible()
> > > > from gfp.h to mm.h.
> > >
> > > Can we wait with introducing arch hooks until we have an actual user
> > > lined up?
> >
> > This one gets used in __folio_end_writeback() which is patch 24 in this
> > series.
>
> With arch hook I mean the ifdef to allow the architeture to override
> the folio function. Same for the previous patch, btw.

Ah. Actually, I hope that all architectures override this. Ideally
'accessible' and 'dcache flush needed' would be per-folio flags, set only
on the head page, but the different architectures are inconsistent about
this. So I've gone with "safe and slow" for the default, and maybe when
all architectures have decided that they'd rather be fast than safe, we
can fix this up. As you know, I want to get rid of tail pages eventually,
so I'm trying to enable other people to do parts of that work for me.