• Steve Capper's avatar
    arm: mm: introduce special ptes for LPAE · bd951303
    Steve Capper authored
    We need a mechanism to tag ptes as being special, this indicates that no
    attempt should be made to access the underlying struct page * associated
    with the pte.  This is used by the fast_gup when operating on ptes as it
    has no means to access VMAs (that also contain this information)
    locklessly.
    
    The L_PTE_SPECIAL bit is already allocated for LPAE, this patch modifies
    pte_special and pte_mkspecial to make use of it, and defines
    __HAVE_ARCH_PTE_SPECIAL.
    
    This patch also excludes special ptes from the icache/dcache sync logic.
    Signed-off-by: default avatarSteve Capper <steve.capper@linaro.org>
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: Dann Frazier <dann.frazier@canonical.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Christoffer Dall <christoffer.dall@linaro.org>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    bd951303
pgtable.h 11.2 KB