Re: [PATCH v3 1/4] Revert "Documentation/features: mark BATCHED_UNMAP_TLB_FLUSH doesn't apply to ARM64"
From: Anshuman Khandual
Date: Fri Sep 09 2022 - 00:26:47 EST
On 8/22/22 13:51, Yicong Yang wrote:
> From: Barry Song <v-songbaohua@xxxxxxxx>
>
> This reverts commit 6bfef171d0d74cb050112e0e49feb20bfddf7f42.
>
> I was wrong. Though ARM64 has hardware TLB flush, but it is not free
> and it is still expensive.
> We still have a good chance to enable batched and deferred TLB flush
> on ARM64 for memory reclamation. A possible way is that we only queue
> tlbi instructions in hardware's queue. When we have to broadcast TLB,
> we broadcast it by dsb. We just need to get adapted the existing
> BATCHED_UNMAP_TLB_FLUSH.
>
> Tested-by: Xin Hao <xhao@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>
> Signed-off-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx>
> ---
> Documentation/features/arch-support.txt | 1 -
> Documentation/features/vm/TLB/arch-support.txt | 2 +-
> 2 files changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/Documentation/features/arch-support.txt b/Documentation/features/arch-support.txt
> index 118ae031840b..d22a1095e661 100644
> --- a/Documentation/features/arch-support.txt
> +++ b/Documentation/features/arch-support.txt
> @@ -8,5 +8,4 @@ The meaning of entries in the tables is:
> | ok | # feature supported by the architecture
> |TODO| # feature not yet supported by the architecture
> | .. | # feature cannot be supported by the hardware
> - | N/A| # feature doesn't apply to the architecture
>
> diff --git a/Documentation/features/vm/TLB/arch-support.txt b/Documentation/features/vm/TLB/arch-support.txt
> index 039e4e91ada3..1c009312b9c1 100644
> --- a/Documentation/features/vm/TLB/arch-support.txt
> +++ b/Documentation/features/vm/TLB/arch-support.txt
> @@ -9,7 +9,7 @@
> | alpha: | TODO |
> | arc: | TODO |
> | arm: | TODO |
> - | arm64: | N/A |
> + | arm64: | TODO |
> | csky: | TODO |
> | hexagon: | TODO |
> | ia64: | TODO |
I believe this patch is not needed, which explicitly reverts an
older commit. Instead when ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
framework gets enabled on arm64, the same patch could just drop
'NA' as possible values for arch support for a give feature in
file Documentation/features/arch-support.txt.