Re: [PATCH v1 0/2] mremap refactor: check src address for vma boundaries first.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> > > > > > >




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux