Question/clarification on pmd accessors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrea,

This came up when I was looking at how best we can implement generic GUP
that can also handle sparc usecase. Below are the pmd accessors that
would be nice to get documented. 

pmd_present():
        I guess we should return true for both pointer to pte page and
        huge page pte (THP and explicit hugepages). We will always find
        THP and explicit hugepage present. If so how is it
        different from pmd_none() ? (There is an expection of
        __split_huge_page_map marking the pmd not
        present. Should pmd_present() return false in that case ?)

pmd_none():
        In some arch it is same as !pmd_present(). I am
        not sure that is correct. Can we explain the difference between
        !pmd_present and pmd_none ?

pmd_trans_huge():
        pmd value that represent a hugepage built via THP mechanism.
        Also implies present.

pmd_huge():
        Should cover both the THP and explicit hugepages

pmd_large():
        This is confusing. On ppc64 this one also check for
        _PAGE_PRESENT. I don't recollect how we end up with that.

-aneesh

        

        

        

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]