On 15 Oct 2024, at 10:43, Jann Horn wrote: > On Tue, Oct 15, 2024 at 4:40 PM David Hildenbrand <david@xxxxxxxxxx> wrote: >> On 15.10.24 16:32, Kirill A. Shutemov wrote: >>> On Tue, Oct 15, 2024 at 01:12:36PM +0200, David Hildenbrand wrote: >>>> pmd_leaf()/pud_leaf() only implies a pmd_present()/pud_present() check on >>>> some architectures. >>> >>> Should we clarify what behaviour we actually want from arch code? >> >> We probably should document somewhere that things like pmd_special(), >> pmd_leaf() ... should only be used when we know that the PMD is present. >> >> I wonder if we should even add ways to detect mis-use >> >> Jann also raised that recently in a private message, that it is rather >> unclear (well, and repeatedly leads to issues) when pmd_leaf() is valid >> to be called. > > I think one place where that should probably be addressed is in > Documentation/mm/arch_pgtable_helpers.rst - that is supposed to be an > overview of these helper functions and what they mean, but the only > thing it currently says about pmd_leaf() is "Tests a leaf mapped PMD", > which doesn't really tell you much more than the function name. It > would be nice if that table contained information about the conditions > under which these helpers may be used. I find the related documentation in include/linux/pgtable.h [1], but it is not an easy find. [1] https://elixir.bootlin.com/linux/v6.11.3/source/include/linux/pgtable.h#L1865 Best Regards, Yan, Zi
Attachment:
signature.asc
Description: OpenPGP digital signature