hi, Jeff, On Mon, Aug 19, 2024 at 09:38:19AM +0800, Oliver Sang wrote: > hi, Jeff, > > On Sun, Aug 18, 2024 at 05:28:41PM +0800, Oliver Sang wrote: > > hi, Jeff, > > > > On Thu, Aug 15, 2024 at 07:58:57PM -0700, Jeff Xu wrote: > > > Hi Oliver > > > > [...] > > > > > > could you exlictly point to two commit-id? > > > sure > > > > > > this patch > > > 8be7258a: mseal: add mseal syscall > > > ff388fe5c: mseal: wire up mseal syscall > > > > I failed to apply this patch set to "8be7258a: mseal: add mseal syscall" > > look your patch set again > [PATCH v1 1/2] mseal:selftest mremap across VMA boundaries > just for kselftests > > and I can apply > [PATCH v1 2/2] mseal: refactor mremap to remove can_modify_mm > upon "8be7258a: mseal: add mseal syscall" cleanly > > so I will start test for this [PATCH v1 2/2] > > BTW, I will firstly use our default setting - "60s testtime; reboot between each > run; run 10 times", since we've already have the data for 8be7258a and ff388fe5c > then we could give you an update kind of quickly. > > as some private mail discussed, you want some special run method, could you > elaborate them here? thanks here is a quick update before you give us more details about special run method. by our default run method (60s testtime; reboot between each run; run 10 times), your "[PATCH v1 2/2] mseal: refactor mremap to remove can_modify_mm" could resolve regression partically. ========================================================================================= compiler/cpufreq_governor/kconfig/nr_threads/rootfs/tbox_group/test/testcase/testtime: gcc-12/performance/x86_64-rhel-8.3/100%/debian-12-x86_64-20240206.cgz/lkp-icl-2sp7/pagemove/stress-ng/60s commit: ff388fe5c4 ("mseal: wire up mseal syscall") 8be7258aad ("mseal: add mseal syscall") 2a78ece39f <-- your "[PATCH v1 2/2] mseal: refactor mremap to remove can_modify_mm" ff388fe5c481d39c 8be7258aad44b5e25977a98db13 2a78ece39f13ea6f3f9679a6c66 ---------------- --------------------------- --------------------------- %stddev %change %stddev %change %stddev \ | \ | \ 4957 +1.3% 5023 +1.0% 5008 time.percent_of_cpu_this_job_got 2915 +1.5% 2959 +1.2% 2949 time.system_time 65.96 -7.3% 61.16 -5.5% 62.30 time.user_time 41535878 -4.0% 39873501 -2.6% 40452264 proc-vmstat.numa_hit 41466104 -4.0% 39806121 -2.6% 40384854 proc-vmstat.numa_local 77297398 -4.1% 74165258 -2.6% 75286134 proc-vmstat.pgalloc_normal 77016866 -4.1% 73886027 -2.6% 75012630 proc-vmstat.pgfree 18386219 -5.0% 17474214 -2.9% 17850959 stress-ng.pagemove.ops 306421 -5.0% 291207 -2.9% 297490 stress-ng.pagemove.ops_per_sec 4957 +1.3% 5023 +1.0% 5008 stress-ng.time.percent_of_cpu_this_job_got 2915 +1.5% 2959 +1.2% 2949 stress-ng.time.system_time 3.349e+10 ± 4% +3.0% 3.447e+10 ± 2% +4.1% 3.484e+10 perf-stat.i.branch-instructions 1.13 -2.1% 1.10 -2.2% 1.10 perf-stat.i.cpi 0.89 +2.2% 0.91 +2.0% 0.91 perf-stat.i.ipc 1.04 -6.9% 0.97 -4.9% 0.99 perf-stat.overall.MPKI 1.13 -2.3% 1.10 -2.0% 1.10 perf-stat.overall.cpi 1081 +5.0% 1136 +3.0% 1114 perf-stat.overall.cycles-between-cache-misses 0.89 +2.3% 0.91 +2.0% 0.91 perf-stat.overall.ipc 3.295e+10 ± 3% +2.9% 3.392e+10 ± 2% +4.0% 3.427e+10 perf-stat.ps.branch-instructions 1.674e+11 ± 3% +1.8% 1.704e+11 ± 2% +3.3% 1.73e+11 perf-stat.ps.instructions 1.046e+13 +2.7% 1.074e+13 +1.7% 1.064e+13 perf-stat.total.instructions 75.05 -2.0 73.02 -0.9 74.18 perf-profile.calltrace.cycles-pp.move_vma.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe.mremap 36.83 -1.6 35.19 -1.2 35.62 perf-profile.calltrace.cycles-pp.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap.do_syscall_64 25.02 -1.4 23.65 -0.9 24.12 perf-profile.calltrace.cycles-pp.copy_vma.move_vma.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 19.94 -1.1 18.87 -0.8 19.19 perf-profile.calltrace.cycles-pp.__split_vma.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 14.78 -0.8 14.01 -0.5 14.28 perf-profile.calltrace.cycles-pp.vma_merge.copy_vma.move_vma.__do_sys_mremap.do_syscall_64 1.48 -0.5 0.99 -0.5 1.00 perf-profile.calltrace.cycles-pp.mas_find.do_vmi_munmap.move_vma.__do_sys_mremap.do_syscall_64 7.88 -0.4 7.47 -0.3 7.62 perf-profile.calltrace.cycles-pp.move_page_tables.move_vma.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 6.73 -0.4 6.37 -0.2 6.51 perf-profile.calltrace.cycles-pp.vm_area_dup.__split_vma.do_vmi_align_munmap.do_vmi_munmap.move_vma 6.16 -0.3 5.82 -0.3 5.90 perf-profile.calltrace.cycles-pp.vma_complete.__split_vma.do_vmi_align_munmap.do_vmi_munmap.move_vma 6.12 -0.3 5.79 -0.2 5.93 perf-profile.calltrace.cycles-pp.kmem_cache_alloc_noprof.vm_area_dup.__split_vma.do_vmi_align_munmap.do_vmi_munmap 5.79 -0.3 5.48 -0.2 5.59 perf-profile.calltrace.cycles-pp.move_ptes.move_page_tables.move_vma.__do_sys_mremap.do_syscall_64 5.54 -0.3 5.25 -0.2 5.32 perf-profile.calltrace.cycles-pp.mas_store_prealloc.vma_complete.__split_vma.do_vmi_align_munmap.do_vmi_munmap 5.56 -0.3 5.28 -0.2 5.36 perf-profile.calltrace.cycles-pp.mas_store_prealloc.vma_merge.copy_vma.move_vma.__do_sys_mremap 5.19 -0.3 4.92 -0.2 4.98 perf-profile.calltrace.cycles-pp.mas_wr_store_entry.mas_store_prealloc.vma_complete.__split_vma.do_vmi_align_munmap 5.21 -0.3 4.95 -0.2 5.02 perf-profile.calltrace.cycles-pp.mas_wr_store_entry.mas_store_prealloc.vma_merge.copy_vma.move_vma 4.09 -0.2 3.85 -0.2 3.93 perf-profile.calltrace.cycles-pp.vm_area_dup.copy_vma.move_vma.__do_sys_mremap.do_syscall_64 4.69 -0.2 4.46 -0.2 4.51 perf-profile.calltrace.cycles-pp.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_merge.copy_vma 3.56 -0.2 3.36 -0.1 3.43 perf-profile.calltrace.cycles-pp.kmem_cache_alloc_noprof.vm_area_dup.copy_vma.move_vma.__do_sys_mremap 3.40 -0.2 3.22 -0.1 3.29 perf-profile.calltrace.cycles-pp.flush_tlb_mm_range.move_ptes.move_page_tables.move_vma.__do_sys_mremap 1.35 -0.2 1.16 -0.1 1.24 perf-profile.calltrace.cycles-pp.mas_find.do_vmi_munmap.do_munmap.mremap_to.__do_sys_mremap 4.00 -0.2 3.82 -0.1 3.86 perf-profile.calltrace.cycles-pp.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_complete.__split_vma 2.23 -0.2 2.05 -0.1 2.12 perf-profile.calltrace.cycles-pp.find_vma_prev.copy_vma.move_vma.__do_sys_mremap.do_syscall_64 8.26 -0.2 8.10 -0.2 8.06 perf-profile.calltrace.cycles-pp.unmap_region.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 1.97 ± 3% -0.2 1.81 ± 3% -0.1 1.88 ± 4% perf-profile.calltrace.cycles-pp.mod_objcg_state.__memcg_slab_post_alloc_hook.kmem_cache_alloc_noprof.vm_area_dup.__split_vma 3.11 ± 2% -0.2 2.96 -0.1 3.05 perf-profile.calltrace.cycles-pp.__memcg_slab_post_alloc_hook.kmem_cache_alloc_noprof.vm_area_dup.__split_vma.do_vmi_align_munmap 0.97 -0.2 0.81 -0.1 0.87 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.do_vmi_munmap.do_munmap.mremap_to 2.27 -0.2 2.11 -0.1 2.16 perf-profile.calltrace.cycles-pp.mas_preallocate.__split_vma.do_vmi_align_munmap.do_vmi_munmap.move_vma 3.25 -0.1 3.10 -0.1 3.17 perf-profile.calltrace.cycles-pp.mas_store_gfp.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 3.14 -0.1 3.00 -0.1 3.06 perf-profile.calltrace.cycles-pp.unmap_vmas.unmap_region.do_vmi_align_munmap.do_vmi_munmap.move_vma 2.98 -0.1 2.85 -0.1 2.87 ± 2% perf-profile.calltrace.cycles-pp.anon_vma_clone.__split_vma.do_vmi_align_munmap.do_vmi_munmap.move_vma 1.27 ± 2% -0.1 1.15 ± 4% -0.1 1.19 ± 6% perf-profile.calltrace.cycles-pp.__memcpy.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_merge 2.45 -0.1 2.34 -0.1 2.38 perf-profile.calltrace.cycles-pp.flush_tlb_func.flush_tlb_mm_range.move_ptes.move_page_tables.move_vma 2.05 -0.1 1.94 -0.1 1.97 perf-profile.calltrace.cycles-pp.mas_preallocate.vma_merge.copy_vma.move_vma.__do_sys_mremap 2.44 -0.1 2.33 -0.1 2.38 perf-profile.calltrace.cycles-pp.unmap_page_range.unmap_vmas.unmap_region.do_vmi_align_munmap.do_vmi_munmap 2.22 -0.1 2.11 -0.1 2.15 perf-profile.calltrace.cycles-pp.native_flush_tlb_one_user.flush_tlb_func.flush_tlb_mm_range.move_ptes.move_page_tables 1.76 ± 2% -0.1 1.65 ± 2% -0.1 1.66 ± 4% perf-profile.calltrace.cycles-pp.vma_prepare.vma_merge.copy_vma.move_vma.__do_sys_mremap 1.86 -0.1 1.75 -0.1 1.78 perf-profile.calltrace.cycles-pp.vma_link.copy_vma.move_vma.__do_sys_mremap.do_syscall_64 1.40 -0.1 1.30 -0.1 1.34 perf-profile.calltrace.cycles-pp.mas_alloc_nodes.mas_preallocate.__split_vma.do_vmi_align_munmap.do_vmi_munmap 1.39 -0.1 1.30 -0.1 1.33 perf-profile.calltrace.cycles-pp.mas_alloc_nodes.mas_preallocate.vma_merge.copy_vma.move_vma 0.55 -0.1 0.46 ± 30% -0.0 0.52 perf-profile.calltrace.cycles-pp.mas_find.find_vma_prev.copy_vma.move_vma.__do_sys_mremap 1.25 -0.1 1.16 -0.1 1.20 perf-profile.calltrace.cycles-pp.kmem_cache_alloc_noprof.mas_alloc_nodes.mas_preallocate.__split_vma.do_vmi_align_munmap 0.94 -0.1 0.86 -0.1 0.87 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.do_vmi_munmap.move_vma.__do_sys_mremap 1.23 -0.1 1.15 -0.1 1.17 perf-profile.calltrace.cycles-pp.kmem_cache_alloc_noprof.mas_alloc_nodes.mas_preallocate.vma_merge.copy_vma 1.54 -0.1 1.47 -0.0 1.49 perf-profile.calltrace.cycles-pp.zap_pmd_range.unmap_page_range.unmap_vmas.unmap_region.do_vmi_align_munmap 0.73 -0.1 0.66 -0.0 0.69 perf-profile.calltrace.cycles-pp.mas_walk.find_vma_prev.copy_vma.move_vma.__do_sys_mremap 1.15 -0.1 1.09 -0.1 1.10 perf-profile.calltrace.cycles-pp.___slab_alloc.kmem_cache_alloc_noprof.vm_area_dup.__split_vma.do_vmi_align_munmap 0.60 ± 2% -0.1 0.54 -0.0 0.58 perf-profile.calltrace.cycles-pp.security_mmap_addr.__get_unmapped_area.mremap_to.__do_sys_mremap.do_syscall_64 1.27 -0.1 1.21 -0.0 1.24 perf-profile.calltrace.cycles-pp.mas_wr_store_entry.mas_store_gfp.do_vmi_align_munmap.do_vmi_munmap.move_vma 0.80 ± 2% -0.1 0.74 ± 2% -0.0 0.76 ± 2% perf-profile.calltrace.cycles-pp.__call_rcu_common.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_merge 0.72 -0.1 0.66 -0.0 0.69 perf-profile.calltrace.cycles-pp.mas_prev.vma_merge.copy_vma.move_vma.__do_sys_mremap 0.78 -0.1 0.73 -0.0 0.75 perf-profile.calltrace.cycles-pp.___slab_alloc.kmem_cache_alloc_noprof.mas_alloc_nodes.mas_preallocate.__split_vma 0.69 ± 2% -0.1 0.64 ± 3% -0.0 0.66 ± 4% perf-profile.calltrace.cycles-pp.mod_objcg_state.__memcg_slab_post_alloc_hook.kmem_cache_alloc_noprof.vm_area_dup.copy_vma 1.63 -0.1 1.58 -0.1 1.57 perf-profile.calltrace.cycles-pp.__get_unmapped_area.mremap_to.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.02 -0.1 0.97 -0.0 0.98 perf-profile.calltrace.cycles-pp.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas.unmap_region 0.77 -0.0 0.72 -0.0 0.74 perf-profile.calltrace.cycles-pp.___slab_alloc.kmem_cache_alloc_noprof.mas_alloc_nodes.mas_preallocate.vma_merge 0.62 -0.0 0.57 -0.0 0.60 perf-profile.calltrace.cycles-pp.mas_prev_setup.mas_prev.vma_merge.copy_vma.move_vma 0.67 -0.0 0.62 -0.0 0.64 perf-profile.calltrace.cycles-pp.percpu_counter_add_batch.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 0.86 -0.0 0.81 -0.0 0.83 perf-profile.calltrace.cycles-pp.mtree_load.vma_to_resize.mremap_to.__do_sys_mremap.do_syscall_64 1.12 -0.0 1.08 -0.0 1.09 perf-profile.calltrace.cycles-pp.clear_bhb_loop.mremap 0.56 -0.0 0.51 -0.0 0.53 perf-profile.calltrace.cycles-pp.mas_walk.mas_prev_setup.mas_prev.vma_merge.copy_vma 0.68 ± 2% -0.0 0.63 -0.0 0.65 perf-profile.calltrace.cycles-pp.syscall_return_via_sysret.mremap 0.81 -0.0 0.77 -0.0 0.80 perf-profile.calltrace.cycles-pp.mtree_load.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe.mremap 1.02 -0.0 0.97 -0.0 0.98 perf-profile.calltrace.cycles-pp.vma_to_resize.mremap_to.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.95 ± 2% -0.0 0.90 ± 2% -0.0 0.93 perf-profile.calltrace.cycles-pp.__memcg_slab_free_hook.kmem_cache_free.unlink_anon_vmas.free_pgtables.unmap_region 0.98 -0.0 0.94 -0.0 0.95 perf-profile.calltrace.cycles-pp.mas_find.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 0.78 -0.0 0.74 -0.0 0.75 perf-profile.calltrace.cycles-pp.mas_store_prealloc.vma_link.copy_vma.move_vma.__do_sys_mremap 0.70 -0.0 0.66 -0.0 0.67 perf-profile.calltrace.cycles-pp.__call_rcu_common.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 0.69 -0.0 0.65 -0.0 0.66 perf-profile.calltrace.cycles-pp.___slab_alloc.kmem_cache_alloc_noprof.vm_area_dup.copy_vma.move_vma 0.69 -0.0 0.65 -0.0 0.65 perf-profile.calltrace.cycles-pp.mas_preallocate.vma_link.copy_vma.move_vma.__do_sys_mremap 0.62 -0.0 0.59 -0.0 0.60 perf-profile.calltrace.cycles-pp.mas_prev_slot.do_vmi_align_munmap.do_vmi_munmap.move_vma.__do_sys_mremap 1.16 -0.0 1.12 -0.0 1.13 perf-profile.calltrace.cycles-pp.anon_vma_clone.copy_vma.move_vma.__do_sys_mremap.do_syscall_64 0.76 ± 2% -0.0 0.72 -0.0 0.72 ± 2% perf-profile.calltrace.cycles-pp.allocate_slab.___slab_alloc.kmem_cache_alloc_noprof.vm_area_dup.__split_vma 1.01 -0.0 0.97 -0.0 0.99 perf-profile.calltrace.cycles-pp.mt_find.vma_merge.copy_vma.move_vma.__do_sys_mremap 0.60 -0.0 0.57 -0.0 0.58 perf-profile.calltrace.cycles-pp.__pte_offset_map_lock.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas 0.88 -0.0 0.85 -0.0 0.85 perf-profile.calltrace.cycles-pp.userfaultfd_unmap_complete.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe.mremap 0.62 ± 2% -0.0 0.59 ± 2% -0.0 0.60 perf-profile.calltrace.cycles-pp.get_old_pud.move_page_tables.move_vma.__do_sys_mremap.do_syscall_64 0.59 -0.0 0.56 -0.0 0.56 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.mremap 0.65 -0.0 0.62 ± 2% -0.0 0.63 perf-profile.calltrace.cycles-pp.mas_update_gap.mas_store_gfp.do_vmi_align_munmap.do_vmi_munmap.move_vma 0.81 +0.0 0.82 -0.0 0.79 perf-profile.calltrace.cycles-pp.thp_get_unmapped_area_vmflags.__get_unmapped_area.mremap_to.__do_sys_mremap.do_syscall_64 2.76 +0.0 2.78 ± 2% -0.1 2.67 perf-profile.calltrace.cycles-pp.unlink_anon_vmas.free_pgtables.unmap_region.do_vmi_align_munmap.do_vmi_munmap 3.47 +0.0 3.51 -0.1 3.37 perf-profile.calltrace.cycles-pp.free_pgtables.unmap_region.do_vmi_align_munmap.do_vmi_munmap.move_vma 0.76 +0.1 0.83 +0.1 0.85 perf-profile.calltrace.cycles-pp.__madvise 0.66 +0.1 0.73 +0.1 0.75 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__madvise 0.67 +0.1 0.74 +0.1 0.76 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__madvise 0.63 +0.1 0.70 +0.1 0.72 perf-profile.calltrace.cycles-pp.__x64_sys_madvise.do_syscall_64.entry_SYSCALL_64_after_hwframe.__madvise 0.62 +0.1 0.70 +0.1 0.71 perf-profile.calltrace.cycles-pp.do_madvise.__x64_sys_madvise.do_syscall_64.entry_SYSCALL_64_after_hwframe.__madvise 0.00 +0.9 0.86 +0.9 0.92 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.can_modify_mm.do_vmi_munmap.do_munmap 0.00 +0.9 0.88 +0.0 0.00 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.can_modify_mm.mremap_to.__do_sys_mremap 83.81 +0.9 84.69 +0.6 84.44 perf-profile.calltrace.cycles-pp.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe.mremap 0.00 +0.9 0.90 ± 2% +0.9 0.91 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.can_modify_mm.do_vmi_munmap.move_vma 0.00 +1.1 1.10 +0.0 0.00 perf-profile.calltrace.cycles-pp.mas_find.can_modify_mm.mremap_to.__do_sys_mremap.do_syscall_64 0.00 +1.2 1.21 +1.3 1.28 perf-profile.calltrace.cycles-pp.mas_find.can_modify_mm.do_vmi_munmap.do_munmap.mremap_to 2.10 +1.5 3.60 +1.7 3.79 perf-profile.calltrace.cycles-pp.do_munmap.mremap_to.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.5 1.52 +1.5 1.52 perf-profile.calltrace.cycles-pp.mas_find.can_modify_mm.do_vmi_munmap.move_vma.__do_sys_mremap 1.59 +1.5 3.12 +1.7 3.31 perf-profile.calltrace.cycles-pp.do_vmi_munmap.do_munmap.mremap_to.__do_sys_mremap.do_syscall_64 0.00 +1.6 1.61 +0.0 0.00 perf-profile.calltrace.cycles-pp.can_modify_mm.mremap_to.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.7 1.73 +1.8 1.83 perf-profile.calltrace.cycles-pp.can_modify_mm.do_vmi_munmap.do_munmap.mremap_to.__do_sys_mremap 0.00 +2.0 2.01 +2.0 2.04 perf-profile.calltrace.cycles-pp.can_modify_mm.do_vmi_munmap.move_vma.__do_sys_mremap.do_syscall_64 5.34 +3.0 8.38 +1.6 6.92 perf-profile.calltrace.cycles-pp.mremap_to.__do_sys_mremap.do_syscall_64.entry_SYSCALL_64_after_hwframe.mremap 75.22 -2.0 73.18 -0.9 74.34 perf-profile.children.cycles-pp.move_vma 37.04 -1.6 35.40 -1.2 35.83 perf-profile.children.cycles-pp.do_vmi_align_munmap 25.09 -1.4 23.72 -0.9 24.20 perf-profile.children.cycles-pp.copy_vma 20.04 -1.1 18.96 -0.8 19.28 perf-profile.children.cycles-pp.__split_vma 19.87 -1.0 18.84 -0.6 19.24 perf-profile.children.cycles-pp.rcu_core 19.85 -1.0 18.82 -0.6 19.22 perf-profile.children.cycles-pp.rcu_do_batch 19.89 -1.0 18.86 -0.6 19.26 perf-profile.children.cycles-pp.handle_softirqs 17.55 -0.9 16.67 -0.5 17.02 perf-profile.children.cycles-pp.kmem_cache_free 15.32 -0.8 14.49 -0.5 14.78 perf-profile.children.cycles-pp.kmem_cache_alloc_noprof 15.17 -0.8 14.39 -0.5 14.66 perf-profile.children.cycles-pp.vma_merge 12.12 -0.6 11.48 -0.4 11.70 perf-profile.children.cycles-pp.__slab_free 12.19 -0.6 11.56 -0.5 11.73 perf-profile.children.cycles-pp.mas_wr_store_entry 11.99 -0.6 11.36 -0.5 11.53 perf-profile.children.cycles-pp.mas_store_prealloc 10.88 -0.6 10.28 -0.4 10.50 perf-profile.children.cycles-pp.vm_area_dup 9.90 -0.5 9.41 -0.4 9.53 perf-profile.children.cycles-pp.mas_wr_node_store 8.39 -0.5 7.92 -0.3 8.13 perf-profile.children.cycles-pp.__memcg_slab_post_alloc_hook 7.99 -0.4 7.58 -0.3 7.73 perf-profile.children.cycles-pp.move_page_tables 6.70 -0.4 6.33 -0.3 6.43 perf-profile.children.cycles-pp.vma_complete 5.87 -0.3 5.55 -0.2 5.66 perf-profile.children.cycles-pp.move_ptes 5.12 -0.3 4.81 -0.2 4.90 perf-profile.children.cycles-pp.mas_preallocate 6.05 -0.3 5.74 -0.2 5.85 perf-profile.children.cycles-pp.vm_area_free_rcu_cb 2.98 -0.3 2.69 ± 4% -0.2 2.80 ± 6% perf-profile.children.cycles-pp.__memcpy 3.46 ± 2% -0.2 3.25 -0.1 3.36 ± 3% perf-profile.children.cycles-pp.mod_objcg_state 3.47 -0.2 3.26 -0.2 3.32 perf-profile.children.cycles-pp.___slab_alloc 2.44 -0.2 2.25 -0.1 2.33 perf-profile.children.cycles-pp.find_vma_prev 2.92 -0.2 2.73 -0.1 2.79 perf-profile.children.cycles-pp.mas_alloc_nodes 3.46 -0.2 3.27 -0.1 3.34 perf-profile.children.cycles-pp.flush_tlb_mm_range 3.47 -0.2 3.29 -0.2 3.32 ± 2% perf-profile.children.cycles-pp.down_write 3.33 -0.2 3.16 -0.1 3.25 perf-profile.children.cycles-pp.__memcg_slab_free_hook 4.23 -0.2 4.07 -0.1 4.08 ± 2% perf-profile.children.cycles-pp.anon_vma_clone 8.33 -0.2 8.17 -0.2 8.13 perf-profile.children.cycles-pp.unmap_region 3.35 -0.1 3.20 -0.1 3.26 perf-profile.children.cycles-pp.mas_store_gfp 2.21 -0.1 2.07 -0.1 2.10 perf-profile.children.cycles-pp.__cond_resched 3.19 -0.1 3.05 -0.1 3.11 perf-profile.children.cycles-pp.unmap_vmas 2.12 -0.1 1.99 -0.1 2.04 perf-profile.children.cycles-pp.__call_rcu_common 2.66 -0.1 2.54 -0.1 2.60 perf-profile.children.cycles-pp.mtree_load 2.24 -0.1 2.12 ± 2% -0.1 2.13 ± 3% perf-profile.children.cycles-pp.vma_prepare 2.50 -0.1 2.38 -0.1 2.42 perf-profile.children.cycles-pp.flush_tlb_func 2.04 ± 2% -0.1 1.93 -0.1 1.96 ± 2% perf-profile.children.cycles-pp.allocate_slab 2.46 -0.1 2.35 -0.1 2.41 perf-profile.children.cycles-pp.rcu_cblist_dequeue 2.48 -0.1 2.38 -0.1 2.42 perf-profile.children.cycles-pp.unmap_page_range 2.23 -0.1 2.12 -0.1 2.16 perf-profile.children.cycles-pp.native_flush_tlb_one_user 1.77 -0.1 1.67 -0.1 1.70 perf-profile.children.cycles-pp.mas_wr_walk 1.88 -0.1 1.78 -0.1 1.80 perf-profile.children.cycles-pp.vma_link 1.84 -0.1 1.75 -0.1 1.77 perf-profile.children.cycles-pp.up_write 0.97 ± 2% -0.1 0.88 -0.1 0.89 perf-profile.children.cycles-pp.rcu_all_qs 1.40 -0.1 1.32 -0.1 1.34 ± 2% perf-profile.children.cycles-pp.shuffle_freelist 1.03 -0.1 0.95 -0.0 0.99 perf-profile.children.cycles-pp.mas_prev 0.92 -0.1 0.85 -0.0 0.88 perf-profile.children.cycles-pp.mas_prev_setup 1.58 -0.1 1.51 -0.1 1.53 perf-profile.children.cycles-pp.zap_pmd_range 1.24 -0.1 1.17 -0.0 1.20 perf-profile.children.cycles-pp.mas_prev_slot 1.57 -0.1 1.49 -0.1 1.49 perf-profile.children.cycles-pp.mas_update_gap 0.62 -0.1 0.56 -0.0 0.60 perf-profile.children.cycles-pp.security_mmap_addr 0.90 -0.1 0.84 -0.0 0.86 perf-profile.children.cycles-pp.percpu_counter_add_batch 0.86 -0.1 0.80 -0.0 0.81 perf-profile.children.cycles-pp._raw_spin_lock_irqsave 0.98 -0.1 0.92 -0.0 0.95 perf-profile.children.cycles-pp.mas_pop_node 1.68 -0.1 1.62 -0.1 1.62 perf-profile.children.cycles-pp.__get_unmapped_area 1.23 -0.1 1.18 -0.0 1.20 perf-profile.children.cycles-pp.__pte_offset_map_lock 0.49 ± 2% -0.1 0.43 -0.1 0.43 ± 2% perf-profile.children.cycles-pp.setup_object 1.09 -0.1 1.03 -0.0 1.05 perf-profile.children.cycles-pp.zap_pte_range 1.07 ± 2% -0.1 1.02 ± 2% -0.1 1.00 perf-profile.children.cycles-pp.mas_leaf_max_gap 0.70 ± 2% -0.0 0.65 -0.0 0.67 perf-profile.children.cycles-pp.syscall_return_via_sysret 1.18 -0.0 1.14 -0.0 1.15 perf-profile.children.cycles-pp.clear_bhb_loop 0.51 ± 3% -0.0 0.47 -0.0 0.49 ± 3% perf-profile.children.cycles-pp.anon_vma_interval_tree_insert 1.04 -0.0 1.00 -0.0 1.01 perf-profile.children.cycles-pp.vma_to_resize 0.57 -0.0 0.53 -0.0 0.54 perf-profile.children.cycles-pp.mas_wr_end_piv 0.44 ± 2% -0.0 0.40 ± 2% -0.0 0.40 perf-profile.children.cycles-pp.native_queued_spin_lock_slowpath 1.14 -0.0 1.10 -0.0 1.12 perf-profile.children.cycles-pp.mt_find 0.90 -0.0 0.87 -0.0 0.87 perf-profile.children.cycles-pp.userfaultfd_unmap_complete 0.62 -0.0 0.59 -0.0 0.60 perf-profile.children.cycles-pp.__put_partials 0.45 ± 6% -0.0 0.42 -0.0 0.43 perf-profile.children.cycles-pp._raw_spin_lock 0.48 -0.0 0.45 ± 2% -0.0 0.46 perf-profile.children.cycles-pp.mas_prev_range 0.61 -0.0 0.58 -0.0 0.59 perf-profile.children.cycles-pp.entry_SYSCALL_64 0.31 ± 3% -0.0 0.28 ± 3% -0.0 0.31 perf-profile.children.cycles-pp.security_vm_enough_memory_mm 0.33 ± 3% -0.0 0.30 ± 2% -0.0 0.31 ± 4% perf-profile.children.cycles-pp.mas_put_in_tree 0.32 ± 2% -0.0 0.29 ± 2% -0.0 0.30 perf-profile.children.cycles-pp.tlb_finish_mmu 0.46 -0.0 0.44 ± 2% -0.0 0.46 perf-profile.children.cycles-pp.rcu_segcblist_enqueue 0.33 -0.0 0.31 -0.0 0.32 perf-profile.children.cycles-pp.mas_destroy 0.36 -0.0 0.34 -0.0 0.34 perf-profile.children.cycles-pp.__rb_insert_augmented 0.39 -0.0 0.37 -0.0 0.38 ± 2% perf-profile.children.cycles-pp.down_write_killable 0.29 -0.0 0.27 ± 2% -0.0 0.28 perf-profile.children.cycles-pp.tlb_gather_mmu 0.26 -0.0 0.24 ± 2% -0.0 0.25 ± 2% perf-profile.children.cycles-pp.syscall_exit_to_user_mode 0.16 ± 2% -0.0 0.14 ± 3% -0.0 0.14 ± 3% perf-profile.children.cycles-pp.mas_wr_append 0.30 ± 2% -0.0 0.28 ± 2% -0.0 0.29 ± 2% perf-profile.children.cycles-pp.__vm_enough_memory 0.32 -0.0 0.30 ± 2% -0.0 0.31 perf-profile.children.cycles-pp.pte_offset_map_nolock 2.83 +0.0 2.85 ± 2% -0.1 2.74 perf-profile.children.cycles-pp.unlink_anon_vmas 0.84 +0.0 0.86 -0.0 0.81 perf-profile.children.cycles-pp.thp_get_unmapped_area_vmflags 0.08 ± 5% +0.0 0.10 ± 3% -0.0 0.08 ± 6% perf-profile.children.cycles-pp.mm_get_unmapped_area_vmflags 3.52 +0.0 3.56 -0.1 3.42 perf-profile.children.cycles-pp.free_pgtables 0.78 +0.1 0.85 +0.1 0.86 perf-profile.children.cycles-pp.__madvise 0.63 +0.1 0.70 +0.1 0.72 perf-profile.children.cycles-pp.__x64_sys_madvise 0.63 +0.1 0.70 +0.1 0.71 perf-profile.children.cycles-pp.do_madvise 0.00 +0.1 0.09 ± 3% +0.1 0.10 ± 5% perf-profile.children.cycles-pp.can_modify_mm_madv 1.31 +0.2 1.46 +0.2 1.50 perf-profile.children.cycles-pp.mas_next_slot 83.90 +0.9 84.79 +0.6 84.53 perf-profile.children.cycles-pp.__do_sys_mremap 40.45 +1.4 41.90 +2.1 42.57 perf-profile.children.cycles-pp.do_vmi_munmap 2.12 +1.5 3.62 +1.7 3.82 perf-profile.children.cycles-pp.do_munmap 3.63 +2.4 5.98 +1.7 5.29 perf-profile.children.cycles-pp.mas_walk 5.40 +3.0 8.44 +1.6 6.97 perf-profile.children.cycles-pp.mremap_to 5.26 +3.2 8.48 +2.3 7.58 perf-profile.children.cycles-pp.mas_find 0.00 +5.5 5.46 +3.9 3.93 perf-profile.children.cycles-pp.can_modify_mm 11.49 -0.6 10.89 -0.4 11.10 perf-profile.self.cycles-pp.__slab_free 4.32 -0.3 4.06 -0.2 4.16 perf-profile.self.cycles-pp.__memcg_slab_post_alloc_hook 1.96 -0.2 1.77 ± 4% -0.1 1.84 ± 6% perf-profile.self.cycles-pp.__memcpy 2.36 -0.1 2.25 ± 2% -0.1 2.25 ± 3% perf-profile.self.cycles-pp.down_write 2.42 -0.1 2.31 -0.0 2.38 perf-profile.self.cycles-pp.rcu_cblist_dequeue 2.33 -0.1 2.23 -0.1 2.28 perf-profile.self.cycles-pp.mtree_load 2.21 -0.1 2.10 -0.1 2.14 perf-profile.self.cycles-pp.native_flush_tlb_one_user 1.62 -0.1 1.54 -0.0 1.57 perf-profile.self.cycles-pp.__memcg_slab_free_hook 1.52 -0.1 1.44 -0.1 1.46 perf-profile.self.cycles-pp.mas_wr_walk 1.44 -0.1 1.36 -0.1 1.38 ± 2% perf-profile.self.cycles-pp.__call_rcu_common 1.53 -0.1 1.45 -0.0 1.48 perf-profile.self.cycles-pp.up_write 1.72 -0.1 1.65 -0.0 1.70 perf-profile.self.cycles-pp.mod_objcg_state 0.69 ± 2% -0.1 0.63 -0.1 0.63 perf-profile.self.cycles-pp.rcu_all_qs 1.14 ± 2% -0.1 1.08 -0.0 1.09 ± 2% perf-profile.self.cycles-pp.shuffle_freelist 1.18 -0.1 1.12 -0.0 1.17 perf-profile.self.cycles-pp.vma_merge 1.38 -0.1 1.33 -0.0 1.35 perf-profile.self.cycles-pp.do_vmi_align_munmap 0.51 ± 2% -0.1 0.45 -0.0 0.49 perf-profile.self.cycles-pp.security_mmap_addr 0.62 -0.1 0.56 ± 2% -0.1 0.56 perf-profile.self.cycles-pp.mremap 0.89 -0.1 0.83 -0.0 0.85 perf-profile.self.cycles-pp.___slab_alloc 0.99 -0.1 0.94 -0.0 0.96 perf-profile.self.cycles-pp.mas_prev_slot 1.00 -0.0 0.95 -0.0 0.96 perf-profile.self.cycles-pp.mas_preallocate 0.98 -0.0 0.93 -0.0 0.95 perf-profile.self.cycles-pp.move_ptes 0.85 -0.0 0.80 -0.0 0.82 perf-profile.self.cycles-pp.mas_pop_node 0.94 -0.0 0.90 -0.0 0.91 ± 2% perf-profile.self.cycles-pp.vm_area_free_rcu_cb 1.09 -0.0 1.04 -0.0 1.06 perf-profile.self.cycles-pp.__cond_resched 0.77 -0.0 0.72 -0.0 0.74 perf-profile.self.cycles-pp.percpu_counter_add_batch 0.94 ± 2% -0.0 0.89 ± 2% -0.1 0.87 perf-profile.self.cycles-pp.mas_leaf_max_gap 1.17 -0.0 1.12 -0.0 1.14 perf-profile.self.cycles-pp.clear_bhb_loop 0.68 -0.0 0.63 -0.0 0.65 perf-profile.self.cycles-pp.__split_vma 0.79 -0.0 0.75 -0.0 0.77 perf-profile.self.cycles-pp.mas_wr_store_entry 1.22 -0.0 1.18 -0.0 1.18 perf-profile.self.cycles-pp.move_vma 0.43 ± 2% -0.0 0.40 ± 2% -0.0 0.40 perf-profile.self.cycles-pp.native_queued_spin_lock_slowpath 1.49 -0.0 1.45 +0.0 1.49 perf-profile.self.cycles-pp.kmem_cache_free 0.44 -0.0 0.40 -0.0 0.40 perf-profile.self.cycles-pp.do_munmap 0.45 -0.0 0.42 -0.0 0.43 perf-profile.self.cycles-pp.mas_wr_end_piv 0.89 -0.0 0.86 -0.0 0.88 perf-profile.self.cycles-pp.mas_store_gfp 0.78 -0.0 0.75 -0.0 0.76 perf-profile.self.cycles-pp.userfaultfd_unmap_complete 0.66 -0.0 0.62 -0.0 0.64 perf-profile.self.cycles-pp.mas_store_prealloc 0.60 -0.0 0.58 -0.0 0.59 perf-profile.self.cycles-pp.unmap_region 0.36 ± 4% -0.0 0.33 ± 3% -0.0 0.34 ± 2% perf-profile.self.cycles-pp.syscall_return_via_sysret 0.55 -0.0 0.52 -0.0 0.53 perf-profile.self.cycles-pp.get_old_pud 0.99 -0.0 0.97 -0.0 0.98 perf-profile.self.cycles-pp.mt_find 0.61 -0.0 0.58 -0.0 0.60 perf-profile.self.cycles-pp.copy_vma 0.43 ± 3% -0.0 0.40 -0.0 0.41 ± 4% perf-profile.self.cycles-pp.anon_vma_interval_tree_insert 0.49 -0.0 0.47 -0.0 0.48 perf-profile.self.cycles-pp.find_vma_prev 0.71 -0.0 0.68 -0.0 0.70 perf-profile.self.cycles-pp.unmap_page_range 0.27 -0.0 0.25 -0.0 0.26 perf-profile.self.cycles-pp.mas_prev_setup 0.47 -0.0 0.45 -0.0 0.46 ± 2% perf-profile.self.cycles-pp.flush_tlb_mm_range 0.37 ± 6% -0.0 0.35 -0.0 0.35 perf-profile.self.cycles-pp._raw_spin_lock 0.41 -0.0 0.39 -0.0 0.40 perf-profile.self.cycles-pp._raw_spin_lock_irqsave 0.40 -0.0 0.37 -0.0 0.38 perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack 0.27 -0.0 0.25 ± 2% -0.0 0.25 ± 3% perf-profile.self.cycles-pp.mas_put_in_tree 0.49 -0.0 0.47 -0.0 0.49 perf-profile.self.cycles-pp.refill_obj_stock 0.48 -0.0 0.46 -0.0 0.47 perf-profile.self.cycles-pp.entry_SYSCALL_64_after_hwframe 0.27 ± 2% -0.0 0.25 -0.0 0.26 perf-profile.self.cycles-pp.tlb_finish_mmu 0.24 ± 2% -0.0 0.22 -0.0 0.23 perf-profile.self.cycles-pp.mas_prev 0.28 -0.0 0.26 -0.0 0.27 ± 2% perf-profile.self.cycles-pp.mas_alloc_nodes 0.40 -0.0 0.39 -0.0 0.40 perf-profile.self.cycles-pp.__pte_offset_map_lock 0.14 ± 3% -0.0 0.12 ± 2% -0.0 0.13 ± 3% perf-profile.self.cycles-pp.syscall_exit_to_user_mode 0.26 -0.0 0.24 ± 2% -0.0 0.25 perf-profile.self.cycles-pp.__rb_insert_augmented 0.28 -0.0 0.26 -0.0 0.27 perf-profile.self.cycles-pp.alloc_new_pud 0.28 -0.0 0.26 -0.0 0.27 ± 2% perf-profile.self.cycles-pp.flush_tlb_func 0.20 ± 2% -0.0 0.19 -0.0 0.19 ± 2% perf-profile.self.cycles-pp.__get_unmapped_area 0.47 -0.0 0.46 -0.0 0.45 perf-profile.self.cycles-pp.arch_get_unmapped_area_topdown_vmflags 0.06 -0.0 0.05 ± 5% -0.0 0.05 perf-profile.self.cycles-pp.vma_dup_policy 0.06 ± 6% +0.0 0.07 -0.0 0.06 ± 8% perf-profile.self.cycles-pp.mm_get_unmapped_area_vmflags 0.11 ± 4% +0.0 0.12 ± 4% +0.0 0.12 ± 4% perf-profile.self.cycles-pp.free_pgd_range 0.21 +0.0 0.22 ± 2% -0.0 0.20 ± 2% perf-profile.self.cycles-pp.thp_get_unmapped_area_vmflags 0.45 +0.0 0.48 +0.0 0.50 perf-profile.self.cycles-pp.do_vmi_munmap 0.27 +0.0 0.32 -0.0 0.26 perf-profile.self.cycles-pp.free_pgtables 0.36 ± 2% +0.1 0.44 -0.0 0.35 perf-profile.self.cycles-pp.unlink_anon_vmas 1.07 +0.1 1.19 +0.2 1.22 perf-profile.self.cycles-pp.mas_next_slot 1.49 +0.5 2.01 +0.4 1.86 perf-profile.self.cycles-pp.mas_find 0.00 +1.4 1.37 +0.9 0.93 perf-profile.self.cycles-pp.can_modify_mm 3.14 +2.1 5.23 +1.5 4.60 perf-profile.self.cycles-pp.mas_walk > > > > > > to avoid the impact of other changes, better to apply the patch upon 8be7258a > > directly. > > > > if you prefer other base for this patch, please let us know. then we will > > supply the results for 4 commits in fact: > > > > this patch > > the base of this patch > > 8be7258a: mseal: add mseal syscall > > ff388fe5c: mseal: wire up mseal syscall > > > > > > > > > > > > > > > Thank you for your time and assistance in helping me on understanding > > > > > this issue. > > > > > > > > due to resource constraint, please expect that we need several days to finish > > > > this test request. > > > No problem. > > > > > > Thanks for your help! > > > -Jeff > > > > > > > > > > > > > Best regards, > > > > > -Jeff > > > > > > > > > > > -Jeff > > > > > > > > > > > > > [1] https://lore.kernel.org/lkml/202408041602.caa0372-oliver.sang@xxxxxxxxx/ > > > > > > > [2] https://github.com/peaktocreek/mmperf/blob/main/run_stress_ng.c > > > > > > > > > > > > > > > > > > > > > Jeff Xu (2): > > > > > > > mseal:selftest mremap across VMA boundaries. > > > > > > > mseal: refactor mremap to remove can_modify_mm > > > > > > > > > > > > > > mm/internal.h | 24 ++ > > > > > > > mm/mremap.c | 77 +++---- > > > > > > > mm/mseal.c | 17 -- > > > > > > > tools/testing/selftests/mm/mseal_test.c | 293 +++++++++++++++++++++++- > > > > > > > 4 files changed, 353 insertions(+), 58 deletions(-) > > > > > > > > > > > > > > -- > > > > > > > 2.46.0.76.ge559c4bf1a-goog > > > > > > >