Re: [PATCH v2 27/46] mm/writeback: Add __folio_mark_dirty()

From: Christoph Hellwig
Date: Mon Jun 28 2021 - 02:07:24 EST


On Thu, Jun 24, 2021 at 07:37:30PM +0100, Matthew Wilcox wrote:
> On Wed, Jun 23, 2021 at 11:27:12AM +0200, Christoph Hellwig wrote:
> > On Tue, Jun 22, 2021 at 01:15:32PM +0100, Matthew Wilcox (Oracle) wrote:
> > > Turn __set_page_dirty() into a wrapper around __folio_mark_dirty() (which
> > > can directly cast from page to folio because we know that set_page_dirty()
> > > calls filesystems with the head page). Convert account_page_dirtied()
> > > into folio_account_dirtied() and account the number of pages in the folio.
> >
> > Is it really worth micro-optimizing a transitional function like that?
> > I'd rather eat the overhead of the compound_page() call over adding hacky
> > casts like this.
>
> Fair enough. There's only three calls to it and one of them goes away
> this series.

The other option would be a helper that asserts a page is not a tail
page and then do the cast to document the assumptions.