Subject: Re: Excessive TLB flush ranges

From: Thomas Gleixner <[email-masked]>
Date: Tue, 16 May 2023 10:18:36 +0200

On Tue, May 16 2023 at 08:37, Thomas Gleixner wrote:
> On Mon, May 15 2023 at 22:31, Russell King wrote:
>>> +	list_for_each_entry(va, list, list) {
>>> +		/* flush range by one by one 'invlpg' */
>>> +		for (addr = va->va_start; addr < va->va_end; addr += PAGE_SIZE)
>>> +			flush_tlb_one_kernel(addr);
>>
>> Isn't this just the same as:
>> 	flush_tlb_kernel_range(va->va_start, va->va_end);
>
> Indeed.

Actually not. At least not on x86 where it'd end up with 3 IPIs for that
case again, instead of having one which walks the list on each CPU.

Thanks,

        tglx

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel