Re: [PATCH 1/3] mm: HVO: introduce helper function to update and flush pgtable

From: Nanyong Sun
Date: Mon Dec 18 2023 - 04:55:02 EST



On 2023/12/15 14:16, Kefeng Wang wrote:


On 2023/12/14 15:39, Nanyong Sun wrote:
Add pmd/pte update and tlb flush helper function to update page
table. This refactoring patch is designed to facilitate each
architecture to implement its own special logic in preparation
for the arm64 architecture to follow the necessary break-before-make
sequence when updating page tables.

Signed-off-by: Nanyong Sun <sunnanyong@xxxxxxxxxx>
---
  mm/hugetlb_vmemmap.c | 55 ++++++++++++++++++++++++++++++++++----------
  1 file changed, 43 insertions(+), 12 deletions(-)

diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c
index 87818ee7f01d..49e8b351def3 100644
--- a/mm/hugetlb_vmemmap.c
+++ b/mm/hugetlb_vmemmap.c
@@ -45,6 +45,37 @@ struct vmemmap_remap_walk {
      unsigned long        flags;
  };
  +#ifndef vmemmap_update_pmd
+static inline void vmemmap_update_pmd(unsigned long start,
+                      pmd_t *pmd, pte_t *pgtable)

pgtable ->  ptep
Hi Kefeng,

Thank you for your review on this patch set, I'll fix them and send out the v2 version later.


+{
+    pmd_populate_kernel(&init_mm, pmd, pgtable);
+}
+#endif
+
+#ifndef vmemmap_update_pte
+static inline void vmemmap_update_pte(unsigned long addr,
+                      pte_t *pte, pte_t entry)

pte   -> ptep
entry -> pte

+{
+    set_pte_at(&init_mm, addr, pte, entry);
+}
+#endif

.