[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