• S
    arm: mm: introduce special ptes for LPAE · bd951303
    Steve Capper 提交于
    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: NSteve Capper <steve.capper@linaro.org>
    Reviewed-by: NCatalin 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: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    bd951303
pgtable-3level.h 9.5 KB