[v6 PATCH] riscv: mm: execute local TLB flush after populating vmemmap

patchwork-bot+linux-riscv at kernel.org patchwork-bot+linux-riscv at kernel.org
Wed Feb 7 17:30:29 PST 2024


Hello:

This patch was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <palmer at rivosinc.com>:

On Wed, 17 Jan 2024 22:03:33 +0800 you wrote:
> The spare_init() calls memmap_populate() many times to create VA to PA
> mapping for the VMEMMAP area, where all "struct page" are located once
> CONFIG_SPARSEMEM_VMEMMAP is defined. These "struct page" are later
> initialized in the zone_sizes_init() function. However, during this
> process, no sfence.vma instruction is executed for this VMEMMAP area.
> This omission may cause the hart to fail to perform page table walk
> because some data related to the address translation is invisible to the
> hart. To solve this issue, the local_flush_tlb_kernel_range() is called
> right after the sparse_init() to execute a sfence.vma instruction for this
> VMEMMAP area, ensuring that all data related to the address translation
> is visible to the hart.
> 
> [...]

Here is the summary with links:
  - [v6] riscv: mm: execute local TLB flush after populating vmemmap
    https://git.kernel.org/riscv/c/d9807d60c145

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html





More information about the linux-riscv mailing list