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.