[PATCH v6 00/13] riscv: ASID-related and UP-related TLB flush enhancements
patchwork-bot+linux-riscv at kernel.org
patchwork-bot+linux-riscv at kernel.org
Tue May 14 07:00:42 PDT 2024
Hello:
This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer at rivosinc.com>:
On Tue, 26 Mar 2024 21:49:41 -0700 you wrote:
> This series converts uniprocessor kernel builds to use the same TLB
> flushing code as SMP builds, to take advantage of batching and existing
> range- and ASID-based TLB flush optimizations. It optimizes out IPIs and
> SBI calls based on the online CPU count, which also covers the scenario
> where SMP was enabled at build time but only one CPU is present/online.
> A final optimization is to use single-ASID flushes wherever possible, to
> avoid unnecessary TLB misses for kernel mappings.
>
> [...]
Here is the summary with links:
- [v6,01/13] riscv: Flush the instruction cache during SMP bringup
https://git.kernel.org/riscv/c/58661a30f1bc
- [v6,02/13] riscv: Factor out page table TLB synchronization
https://git.kernel.org/riscv/c/aaa56c8f378d
- [v6,03/13] riscv: Use IPIs for remote cache/TLB flushes by default
https://git.kernel.org/riscv/c/dc892fb44322
- [v6,04/13] riscv: mm: Broadcast kernel TLB flushes only when needed
https://git.kernel.org/riscv/c/038ac18aae93
- [v6,05/13] riscv: Only send remote fences when some other CPU is online
https://git.kernel.org/riscv/c/9546f00410ed
- [v6,06/13] riscv: mm: Combine the SMP and UP TLB flush code
https://git.kernel.org/riscv/c/c6026d35b6ab
- [v6,07/13] riscv: Apply SiFive CIP-1200 workaround to single-ASID sfence.vma
https://git.kernel.org/riscv/c/20e03d702e00
- [v6,08/13] riscv: Avoid TLB flush loops when affected by SiFive CIP-1200
https://git.kernel.org/riscv/c/d6dcdabafcd7
- [v6,09/13] riscv: mm: Introduce cntx2asid/cntx2version helper macros
https://git.kernel.org/riscv/c/74cd17792d28
- [v6,10/13] riscv: mm: Use a fixed layout for the MM context ID
https://git.kernel.org/riscv/c/f58e5dc45fa9
- [v6,11/13] riscv: mm: Make asid_bits a local variable
https://git.kernel.org/riscv/c/8d3e7613f97e
- [v6,12/13] riscv: mm: Preserve global TLB entries when switching contexts
https://git.kernel.org/riscv/c/8fc21cc672e8
- [v6,13/13] riscv: mm: Always use an ASID to flush mm contexts
https://git.kernel.org/riscv/c/daef19263fc1
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