• Will Deacon's avatar
    ARM: tlb: reduce scope of barrier domains for TLB invalidation · 62cbbc42
    Will Deacon authored
    Our TLB invalidation routines may require a barrier before the
    maintenance (in order to ensure pending page table writes are visible to
    the hardware walker) and barriers afterwards (in order to ensure
    completion of the maintenance and visibility in the instruction stream).
    
    Whilst this is expensive, the cost can be reduced somewhat by reducing
    the scope of the barrier instructions:
    
      - The barrier before only needs to apply to stores (pte writes)
      - Local ops are required only to affect the non-shareable domain
      - Global ops are required only to affect the inner-shareable domain
    
    This patch makes these changes for the TLB flushing code.
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    62cbbc42
tlbflush.h 18 KB