> On Feb 22, 2020, at 1:33 AM, Longpeng (Mike) <longpeng2@xxxxxxxxxx> wrote: > > As explained in the commit messages, it's for safe(e.g. avoid the compilier > mischief). You can also find the same usage in the ARM64's huge_pte_offset() in > arch/arm64/mm/hugetlbpage.c Rather than blindly copy over there, are those correct here? What kind of bad compiler optimizations exactly do they try to prevent? Until we understand those details, blindly adding READ_ONCE() will only hide other problems.