Messages in this thread | | | Date | Thu, 18 Aug 2022 10:00:47 +0800 | Subject | Re: [PATCH 4/6] mm: hugetlb_vmemmap: add missing smp_wmb() before set_pte_at() | From | "Yin, Fengwei" <> |
| |
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.
Regards Yin, Fengwei
| |