[PATCH v3 2/3] arm64: mm: HVO: support BBM of vmemmap pgtable safely

Muchun Song muchun.song at linux.dev
Sun Jan 14 18:38:07 PST 2024



> On Jan 13, 2024, at 17:44, Nanyong Sun <sunnanyong at huawei.com> wrote:
> 
> Implement vmemmap_update_pmd and vmemmap_update_pte on arm64 to do
> BBM(break-before-make) logic when change the page table of vmemmap
> address, they will under the init_mm.page_table_lock.
> If a translation fault of vmemmap address concurrently happened after
> pte/pmd cleared, vmemmap page fault handler will acquire the
> init_mm.page_table_lock to wait for vmemmap update to complete,
> by then the virtual address is valid again, so PF can return and
> access can continue.
> In other case, do the traditional kernel fault.
> 
> Implement vmemmap_flush_tlb_all/range on arm64 with nothing
> to do because tlb already flushed in every single BBM.
> 
> Signed-off-by: Nanyong Sun <sunnanyong at huawei.com>

Reviewed-by: Muchun Song <songmuchun at bytedance.com>

Thanks.




More information about the linux-arm-kernel mailing list