Re: [PATCH v3 4/4] mm: remove unnecessary smp_wmb() in __SetPageUptodate()

From: Yu Zhao
Date: Wed Sep 25 2019 - 18:04:07 EST


On Tue, Sep 24, 2019 at 04:50:36PM -0700, Matthew Wilcox wrote:
> On Tue, Sep 24, 2019 at 05:24:59PM -0600, Yu Zhao wrote:
> > +/*
> > + * Only use this function when there is a following write barrier, e.g.,
> > + * an explicit smp_wmb() and/or the page will be added to page or swap
> > + * cache locked.
> > + */
> > static __always_inline void __SetPageUptodate(struct page *page)
> > {
> > VM_BUG_ON_PAGE(PageTail(page), page);
> > - smp_wmb();
> > __set_bit(PG_uptodate, &page->flags);
> > }
>
> Isn't this now the same as __SETPAGEFLAG(uptodate, Uptodate, PF_NO_TAIL)?

Indeed. I'll use the macro in the next version.