> On Aug 18, 2022, at 10:00, Yin, Fengwei <fengwei.yin@xxxxxxxxx> wrote: > > > > On 8/18/2022 9:55 AM, Miaohe Lin wrote: >>>>> /* >>>>> * The memory barrier inside __SetPageUptodate makes sure that >>>>> * preceding stores to the page contents become visible before >>>>> * the set_pte_at() write. >>>>> */ >>>>> __SetPageUptodate(page); >>>> IIUC, the case here we should make sure others (CPUs) can see new page’s >>>> contents after they have saw PG_uptodate is set. I think commit 0ed361dec369 >>>> can tell us more details. >>>> >>>> I also looked at commit 52f37629fd3c to see why we need a barrier before >>>> set_pte_at(), but I didn’t find any info to explain why. I guess we want >>>> to make sure the order between the page’s contents and subsequent memory >>>> accesses using the corresponding virtual address, do you agree with this? >>> This is my understanding also. Thanks. >> That's also my understanding. Thanks both. > I have an unclear thing (not related with this patch directly): Who is response > for the read barrier in the read side in this case? > > For SetPageUptodate, there are paring write/read memory barrier. > I have the same question. So I think the example proposed by Miaohe is a little difference from the case (hugetlb_vmemmap) here. > > Regards > Yin, Fengwei > >