On Tue, Apr 21, 2020 at 04:57:26AM +0530, Anshuman Khandual wrote: > > > On 04/21/2020 02:33 AM, Will Deacon wrote: > > On Fri, Mar 20, 2020 at 10:24:17AM +0530, Anshuman Khandual wrote: > >> pmd_present() is expected to test positive after pmdp_mknotpresent() as the > >> PMD entry still points to a valid huge page in memory. pmdp_mknotpresent() > >> implies that given PMD entry is just invalidated from MMU perspective while > >> still holding on to pmd_page() referred valid huge page thus also clearing > >> pmd_present() test. This creates the following situation which is counter > >> intuitive. > >> > >> [pmd_present(pmd_mknotpresent(pmd)) = true] > >> > >> This renames pmd_mknotpresent() as pmd_mknotvalid() reflecting the helper's > >> functionality more accurately while changing the above mentioned situation > >> as follows. This does not create any functional change. > >> > >> [pmd_present(pmd_mknotvalid(pmd)) = true] > >> > >> This is not applicable for platforms that define own pmdp_invalidate() via > >> __HAVE_ARCH_PMDP_INVALIDATE. Suggestion for renaming came during a previous > >> discussion here. > > > > Bikeshed alert: maybe pmd_mkinvalid() would be better, given that this is > > a one-trick pony for pmdp_invalidate()? > > I had thought about making it pmd_mkinvalid() earlier. But as we were replacing > pmd_mknotpresent(), hence went with similar pattern pmd_mknotvalid() which was > originally suggested by Catalin. There is an existing pte_mknotpresent() in arc > platform as well. I dont have a very strong opinion either way, will be happy > to rename. But then still wondering if we really need to. I just think that having pmdp_invalidate() call pmd_mkinvalid() makes a lot of sense and, since this is a pure renaming patch, then that's worth taking into consideration. If you go with pmd_mkinvalid(), then: Acked-by: Will Deacon <will@xxxxxxxxxx> Will