[RFC PATCH 1/1] arm64: mm: remove unnecessary multiple tlb flush of contiguous hugetlb

Carlo Bai carlo.bai at linux.alibaba.com
Tue Feb 7 19:43:19 PST 2023


On 2023/2/8 2:21, Catalin Marinas wrote:
> On Tue, Feb 07, 2023 at 07:09:41PM +0800, Kaihao Bai wrote:
>> In arm64, contiguous flag refers to the same TLB entry that shared by a
>> contiguous address range. If flush one entry of the address range, it
>> would cover the whole contiguous address range. Thus there's no need to
>> flush all contiguous range that CONT_PMD/PTE points to.
> 
> This doesn't work. The contiguous bit is a hint, so the CPU may not
> coalesce multiple PTEs into a single TLB entry.
>Sorry I misunderstood the underlying approach of contiguous bit. I 
re-check and find that "TLB maintenance must be performed based on the 
size of the underlying translation table entries, to avoid TLB
coherency issues.". Thanks for your clarification!



More information about the linux-arm-kernel mailing list