[PW_SID:1099431] [v2,1/2] riscv: track effective hardware PTE A/D updates#1999
[PW_SID:1099431] [v2,1/2] riscv: track effective hardware PTE A/D updates#1999linux-riscv-bot wants to merge 3 commits into
Conversation
Track the effective hardware PTE A/D update mode separately from Svadu capability discovery. When both Svade and Svadu are present, enable SBI FWFT PTE A/D hardware updating on each online CPU via CPUHP and use the resulting runtime state for arch_has_hw_pte_young(). Fall back to software-managed A/D updates if enabling hardware updates fails. When Svadu is present without Svade, assume hardware PTE A/D updating is enabled from boot, and document that boot-time behavior in the DT binding. Signed-off-by: Yunhui Cui <cuiyunhui@bytedance.com> Reviewed-by: Qingwei Hu <qingwei.hu@bytedance.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Use cmpxchg-based merges for live RISC-V PTE permission updates so software changes do not lose concurrently hardware-updated accessed and dirty state. Cover ptep_set_access_flags(), ptep_test_and_clear_young(), and ptep_set_wrprotect(), and extend the same wrprotect handling to the PUD leaf helper used by huge mappings. Keep the existing Svvptc flush behaviour, but only flush when the merged PTE value actually changed. Signed-off-by: Yunhui Cui <cuiyunhui@bytedance.com> Reviewed-by: Qingwei Hu <qingwei.hu@bytedance.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 1: "[v2,1/2] riscv: track effective hardware PTE A/D updates" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
|
Patch 2: "[v2,2/2] riscv: preserve hardware-updated A/D bits in PTE accessors" |
a1231b7 to
c03cdce
Compare
PR for series 1099431 applied to workflow__riscv__fixes
Name: [v2,1/2] riscv: track effective hardware PTE A/D updates
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1099431
Version: 2