hi, Jiri Olsa, and all,
we made some investigation for this regression and confirmed the code change in ff474a78ce is irrelevant to stress-ng performance regression, instead, it's a code alignment issue. if we applied below patch for both this commit and parent, the regression will disappear. diff --git a/Kbuild b/Kbuild index 464b34a08f51e..d33d30b772324 100644 --- a/Kbuild +++ b/Kbuild @@ -78,11 +78,11 @@ prepare: $(offsets-file) missing-syscalls $(atomic-checks) obj-y += init/ obj-y += usr/ +obj-y += mm/ obj-y += arch/$(SRCARCH)/ obj-y += $(ARCH_CORE) obj-y += kernel/ obj-y += certs/ -obj-y += mm/ obj-y += fs/ obj-y += ipc/ obj-y += security/ we still make out below formal report FYI. and Feng Tang (Cced) is working on a patch to mitigate this kind of less meaningful performance changes due to code alignment. Hello, kernel test robot noticed a -12.3% regression of stress-ng.mprotect.ops_per_sec on: commit: ff474a78cef5cb5f32be52fe25b78441327a2e7c ("uprobe: Add uretprobe syscall to speed up return probe") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master testcase: stress-ng test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory parameters: nr_threads: 100% testtime: 60s test: mprotect cpufreq_governor: performance Details are as below: --------------------------------------------------------------------------------------------------> The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240724/202407241609.9b33c747-oliver.s...@intel.com ========================================================================================= compiler/cpufreq_governor/kconfig/nr_threads/rootfs/tbox_group/test/testcase/testtime: gcc-13/performance/x86_64-rhel-8.3/100%/debian-12-x86_64-20240206.cgz/lkp-icl-2sp7/mprotect/stress-ng/60s commit: 190fec72df ("uprobe: Wire up uretprobe system call") ff474a78ce ("uprobe: Add uretprobe syscall to speed up return probe") 190fec72df4a5d4d ff474a78cef5cb5f32be52fe25b ---------------- --------------------------- %stddev %change %stddev \ | \ 4.74 ± 3% -0.7 4.05 ± 9% mpstat.cpu.all.soft% 3424654 ± 2% -25.4% 2555508 ± 3% numa-numastat.node1.local_node 3457847 ± 2% -25.2% 2588010 ± 3% numa-numastat.node1.numa_hit 3460293 ± 2% -25.2% 2589125 ± 3% numa-vmstat.node1.numa_hit 3427101 ± 2% -25.4% 2556623 ± 3% numa-vmstat.node1.numa_local 5.214e+08 -12.3% 4.573e+08 stress-ng.mprotect.ops 8682811 -12.3% 7614767 stress-ng.mprotect.ops_per_sec 3343 +1.4% 3392 stress-ng.time.system_time 266.56 -9.7% 240.62 stress-ng.time.user_time 64550 ± 2% -4.1% 61895 ± 2% proc-vmstat.nr_slab_unreclaimable 6835207 ± 2% -15.4% 5779808 proc-vmstat.numa_hit 6768863 ± 2% -15.6% 5713472 proc-vmstat.numa_local 13293019 ± 2% -15.5% 11227409 proc-vmstat.pgalloc_normal 13067274 ± 2% -15.8% 11002545 proc-vmstat.pgfree 2e+10 ± 3% -12.2% 1.756e+10 ± 6% perf-stat.i.branch-instructions 2.1e+08 ± 3% -11.6% 1.856e+08 ± 5% perf-stat.i.branch-misses 35961320 ± 2% -14.1% 30897555 ± 6% perf-stat.i.cache-misses 1.43e+08 ± 2% -12.1% 1.257e+08 ± 5% perf-stat.i.cache-references 2.00 +12.4% 2.25 ± 2% perf-stat.i.cpi 9.396e+10 ± 3% -12.1% 8.262e+10 ± 6% perf-stat.i.instructions 0.50 -10.4% 0.45 ± 4% perf-stat.i.ipc 65.08 ± 3% -12.6% 56.86 ± 6% perf-stat.i.metric.K/sec 4163362 ± 3% -12.6% 3638357 ± 6% perf-stat.i.page-faults 2.02 +13.2% 2.29 perf-stat.overall.cpi 5301 ± 4% +16.1% 6156 ± 7% perf-stat.overall.cycles-between-cache-misses 0.49 -11.7% 0.44 perf-stat.overall.ipc 1.972e+10 ± 3% -12.2% 1.731e+10 ± 5% perf-stat.ps.branch-instructions 2.071e+08 ± 3% -11.6% 1.831e+08 ± 4% perf-stat.ps.branch-misses 35342279 ± 2% -14.1% 30342927 ± 5% perf-stat.ps.cache-misses 1.412e+08 ± 2% -12.0% 1.243e+08 ± 5% perf-stat.ps.cache-references 9.262e+10 ± 3% -12.1% 8.143e+10 ± 5% perf-stat.ps.instructions 4109544 ± 3% -12.6% 3592376 ± 6% perf-stat.ps.page-faults 5.823e+12 -11.1% 5.178e+12 perf-stat.total.instructions 59.24 -3.1 56.14 perf-profile.calltrace.cycles-pp.__mprotect 51.61 -2.3 49.27 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__mprotect 51.20 -2.3 48.90 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__mprotect 49.61 -2.1 47.49 perf-profile.calltrace.cycles-pp.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe.__mprotect 49.36 -2.1 47.27 perf-profile.calltrace.cycles-pp.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe.__mprotect 34.18 -1.9 32.28 perf-profile.calltrace.cycles-pp.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 24.64 -1.3 23.38 perf-profile.calltrace.cycles-pp.vma_modify.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 7.35 -0.6 6.70 ± 3% perf-profile.calltrace.cycles-pp.perf_event_mmap.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 11.07 -0.6 10.44 perf-profile.calltrace.cycles-pp.__split_vma.vma_modify.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect 13.35 -0.6 12.73 perf-profile.calltrace.cycles-pp.vma_merge.vma_modify.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect 6.97 -0.6 6.36 ± 3% perf-profile.calltrace.cycles-pp.perf_event_mmap_event.perf_event_mmap.mprotect_fixup.do_mprotect_pkey.__x64_sys_mprotect 1.14 ± 17% -0.5 0.62 ± 4% perf-profile.calltrace.cycles-pp.rwsem_spin_on_owner.rwsem_optimistic_spin.rwsem_down_write_slowpath.down_write.vma_prepare 3.38 -0.4 3.01 perf-profile.calltrace.cycles-pp.asm_exc_page_fault.__mprotect 3.16 -0.3 2.84 perf-profile.calltrace.cycles-pp.vma_complete.__split_vma.vma_modify.mprotect_fixup.do_mprotect_pkey 2.44 -0.3 2.14 perf-profile.calltrace.cycles-pp.handle_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_mprotect_mem 2.60 -0.3 2.30 perf-profile.calltrace.cycles-pp.clear_bhb_loop.__mprotect 3.00 -0.3 2.73 perf-profile.calltrace.cycles-pp.stress_sig_handler 1.93 -0.3 1.68 perf-profile.calltrace.cycles-pp.mas_store_prealloc.vma_complete.__split_vma.vma_modify.mprotect_fixup 2.79 -0.2 2.55 ± 3% perf-profile.calltrace.cycles-pp.vma_prepare.vma_merge.vma_modify.mprotect_fixup.do_mprotect_pkey 1.79 -0.2 1.56 perf-profile.calltrace.cycles-pp.x64_setup_rt_frame.handle_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault 2.10 -0.2 1.88 perf-profile.calltrace.cycles-pp.mas_store_prealloc.vma_merge.vma_modify.mprotect_fixup.do_mprotect_pkey 1.73 -0.2 1.51 perf-profile.calltrace.cycles-pp.mas_wr_store_entry.mas_store_prealloc.vma_complete.__split_vma.vma_modify 1.95 -0.2 1.73 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.__mprotect 1.92 -0.2 1.70 perf-profile.calltrace.cycles-pp.mas_wr_store_entry.mas_store_prealloc.vma_merge.vma_modify.mprotect_fixup 2.20 ± 2% -0.2 2.01 ± 4% perf-profile.calltrace.cycles-pp.down_write.vma_prepare.vma_merge.vma_modify.mprotect_fixup 1.35 -0.2 1.15 perf-profile.calltrace.cycles-pp.security_file_mprotect.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.50 -0.2 1.31 perf-profile.calltrace.cycles-pp.get_sigframe.x64_setup_rt_frame.handle_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode 2.76 -0.2 2.58 ± 3% perf-profile.calltrace.cycles-pp.vma_prepare.__split_vma.vma_modify.mprotect_fixup.do_mprotect_pkey 1.42 -0.2 1.24 ± 2% perf-profile.calltrace.cycles-pp.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_complete.__split_vma 1.77 -0.2 1.60 perf-profile.calltrace.cycles-pp.kmem_cache_alloc_noprof.vm_area_dup.__split_vma.vma_modify.mprotect_fixup 0.60 ± 3% -0.2 0.45 ± 44% perf-profile.calltrace.cycles-pp.__perf_event_header__init_id.perf_event_mmap_output.perf_iterate_sb.perf_event_mmap_event.perf_event_mmap 1.28 -0.1 1.14 perf-profile.calltrace.cycles-pp.can_modify_mm.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.43 -0.1 1.28 ± 2% perf-profile.calltrace.cycles-pp.mas_wr_node_store.mas_wr_store_entry.mas_store_prealloc.vma_merge.vma_modify 1.35 ± 2% -0.1 1.21 ± 5% perf-profile.calltrace.cycles-pp.rwsem_down_write_slowpath.down_write.vma_prepare.vma_merge.vma_modify 0.75 -0.1 0.61 perf-profile.calltrace.cycles-pp.apparmor_file_mprotect.security_file_mprotect.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 0.79 ± 2% -0.1 0.66 ± 3% perf-profile.calltrace.cycles-pp.vma_interval_tree_insert.vma_complete.vma_merge.vma_modify.mprotect_fixup 1.97 -0.1 1.84 perf-profile.calltrace.cycles-pp.vm_area_dup.__split_vma.vma_modify.mprotect_fixup.do_mprotect_pkey 1.22 ± 2% -0.1 1.09 ± 5% perf-profile.calltrace.cycles-pp.rwsem_optimistic_spin.rwsem_down_write_slowpath.down_write.vma_prepare.vma_merge 3.42 -0.1 3.30 ± 2% perf-profile.calltrace.cycles-pp.vma_complete.vma_merge.vma_modify.mprotect_fixup.do_mprotect_pkey 0.94 -0.1 0.82 perf-profile.calltrace.cycles-pp.stress_mwc16modn 0.86 -0.1 0.75 perf-profile.calltrace.cycles-pp.sync_regs.asm_exc_page_fault.stress_mprotect_mem 0.81 -0.1 0.71 perf-profile.calltrace.cycles-pp.copy_fpstate_to_sigframe.get_sigframe.x64_setup_rt_frame.handle_signal.arch_do_signal_or_restart 0.89 -0.1 0.80 perf-profile.calltrace.cycles-pp.stress_mwc32modn 0.95 ± 2% -0.1 0.86 ± 5% perf-profile.calltrace.cycles-pp.rwsem_down_write_slowpath.down_write.vma_prepare.__split_vma.vma_modify 0.92 -0.1 0.84 perf-profile.calltrace.cycles-pp.__memcg_slab_post_alloc_hook.kmem_cache_alloc_noprof.vm_area_dup.__split_vma.vma_modify 0.86 ± 2% -0.1 0.77 ± 5% perf-profile.calltrace.cycles-pp.rwsem_optimistic_spin.rwsem_down_write_slowpath.down_write.vma_prepare.__split_vma 0.70 -0.1 0.62 perf-profile.calltrace.cycles-pp.mas_find.can_modify_mm.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 1.46 -0.1 1.38 ± 4% perf-profile.calltrace.cycles-pp.down_write.vma_prepare.__split_vma.vma_modify.mprotect_fixup 0.62 -0.1 0.55 ± 2% perf-profile.calltrace.cycles-pp.simple_dname.perf_event_mmap_event.perf_event_mmap.mprotect_fixup.do_mprotect_pkey 2.29 -0.1 2.22 perf-profile.calltrace.cycles-pp.mas_find.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.58 -0.1 0.52 perf-profile.calltrace.cycles-pp.__rseq_handle_notify_resume.handle_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault 0.65 -0.1 0.59 perf-profile.calltrace.cycles-pp.handle_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_sig_handler 1.80 -0.0 1.75 perf-profile.calltrace.cycles-pp.pthread_sigmask 0.75 ± 3% -0.0 0.70 ± 3% perf-profile.calltrace.cycles-pp.handle_softirqs.irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.force_sig_info_to_task 0.75 ± 3% -0.0 0.70 ± 3% perf-profile.calltrace.cycles-pp.irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.force_sig_info_to_task.force_sig_fault 0.80 ± 2% -0.0 0.76 ± 2% perf-profile.calltrace.cycles-pp.asm_sysvec_apic_timer_interrupt.force_sig_info_to_task.force_sig_fault.__bad_area_nosemaphore.bad_area_access_error 0.80 ± 3% -0.0 0.75 ± 2% perf-profile.calltrace.cycles-pp.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.force_sig_info_to_task.force_sig_fault.__bad_area_nosemaphore 1.35 -0.0 1.31 perf-profile.calltrace.cycles-pp.mas_walk.mas_find.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 1.23 -0.0 1.19 perf-profile.calltrace.cycles-pp.asm_exc_page_fault.stress_sig_handler 1.22 -0.0 1.18 perf-profile.calltrace.cycles-pp.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_sig_handler 1.16 -0.0 1.12 perf-profile.calltrace.cycles-pp.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_sig_handler 0.66 -0.0 0.62 perf-profile.calltrace.cycles-pp.lock_vma_under_rcu.do_user_addr_fault.exc_page_fault.asm_exc_page_fault.stress_mprotect_mem 0.64 +0.0 0.66 perf-profile.calltrace.cycles-pp.mas_next_slot.mas_find.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64 1.08 +0.0 1.11 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.pthread_sigmask 0.62 ± 2% +0.0 0.65 ± 2% perf-profile.calltrace.cycles-pp.irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.get_signal.arch_do_signal_or_restart 0.62 +0.0 0.65 ± 2% perf-profile.calltrace.cycles-pp.handle_softirqs.irq_exit_rcu.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.get_signal 1.04 +0.0 1.08 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.pthread_sigmask 0.66 +0.0 0.70 ± 2% perf-profile.calltrace.cycles-pp.sysvec_apic_timer_interrupt.asm_sysvec_apic_timer_interrupt.get_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode 0.67 +0.0 0.71 perf-profile.calltrace.cycles-pp.asm_sysvec_apic_timer_interrupt.get_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault 0.52 +0.0 0.56 perf-profile.calltrace.cycles-pp.__bad_area.bad_area_access_error.exc_page_fault.asm_exc_page_fault.stress_mprotect_mem 0.86 +0.1 0.91 perf-profile.calltrace.cycles-pp.__x64_sys_rt_sigprocmask.do_syscall_64.entry_SYSCALL_64_after_hwframe.pthread_sigmask 0.82 +0.1 0.88 perf-profile.calltrace.cycles-pp.tlb_gather_mmu.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.87 ± 4% +0.1 0.94 ± 2% perf-profile.calltrace.cycles-pp.perf_output_begin.perf_event_mmap_output.perf_iterate_sb.perf_event_mmap_event.perf_event_mmap 0.59 +0.1 0.67 perf-profile.calltrace.cycles-pp.sigprocmask.__x64_sys_rt_sigprocmask.do_syscall_64.entry_SYSCALL_64_after_hwframe.pthread_sigmask 0.85 +0.1 0.93 perf-profile.calltrace.cycles-pp.tlb_finish_mmu.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.43 ± 44% +0.1 0.53 perf-profile.calltrace.cycles-pp.mas_alloc_nodes.mas_preallocate.__split_vma.vma_modify.mprotect_fixup 1.82 +0.1 1.92 perf-profile.calltrace.cycles-pp.down_write_killable.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.91 +0.1 1.03 perf-profile.calltrace.cycles-pp.mas_preallocate.__split_vma.vma_modify.mprotect_fixup.do_mprotect_pkey 2.20 +0.3 2.55 perf-profile.calltrace.cycles-pp.up_write.do_mprotect_pkey.__x64_sys_mprotect.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +0.5 0.52 ± 2% perf-profile.calltrace.cycles-pp.up_read.__bad_area.bad_area_access_error.exc_page_fault.asm_exc_page_fault 14.37 +1.5 15.84 perf-profile.calltrace.cycles-pp.force_sig_info_to_task.force_sig_fault.__bad_area_nosemaphore.bad_area_access_error.exc_page_fault 14.50 +1.5 15.98 perf-profile.calltrace.cycles-pp.force_sig_fault.__bad_area_nosemaphore.bad_area_access_error.exc_page_fault.asm_exc_page_fault 12.56 +1.5 14.04 perf-profile.calltrace.cycles-pp.__sigqueue_alloc.__send_signal_locked.force_sig_info_to_task.force_sig_fault.__bad_area_nosemaphore 14.70 +1.5 16.20 perf-profile.calltrace.cycles-pp.__bad_area_nosemaphore.bad_area_access_error.exc_page_fault.asm_exc_page_fault.stress_mprotect_mem 13.11 +1.5 14.62 perf-profile.calltrace.cycles-pp.__send_signal_locked.force_sig_info_to_task.force_sig_fault.__bad_area_nosemaphore.bad_area_access_error 16.61 +1.5 18.12 perf-profile.calltrace.cycles-pp.exc_page_fault.asm_exc_page_fault.stress_mprotect_mem 12.16 +1.5 13.67 perf-profile.calltrace.cycles-pp.inc_rlimit_get_ucounts.__sigqueue_alloc.__send_signal_locked.force_sig_info_to_task.force_sig_fault 15.30 +1.5 16.82 perf-profile.calltrace.cycles-pp.bad_area_access_error.exc_page_fault.asm_exc_page_fault.stress_mprotect_mem 14.79 +2.4 17.15 perf-profile.calltrace.cycles-pp.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_mprotect_mem 14.74 +2.4 17.10 perf-profile.calltrace.cycles-pp.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_mprotect_mem 10.32 +2.7 12.98 perf-profile.calltrace.cycles-pp.do_dec_rlimit_put_ucounts.get_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault 12.16 +2.7 14.84 perf-profile.calltrace.cycles-pp.get_signal.arch_do_signal_or_restart.irqentry_exit_to_user_mode.asm_exc_page_fault.stress_mprotect_mem 34.36 +3.5 37.86 perf-profile.calltrace.cycles-pp.stress_mprotect_mem 32.29 +3.8 36.05 perf-profile.calltrace.cycles-pp.asm_exc_page_fault.stress_mprotect_mem 59.32 -3.1 56.23 perf-profile.children.cycles-pp.__mprotect 52.91 -2.3 50.60 perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe 52.48 -2.3 50.22 perf-profile.children.cycles-pp.do_syscall_64 49.68 -2.1 47.55 perf-profile.children.cycles-pp.__x64_sys_mprotect 49.58 -2.1 47.46 perf-profile.children.cycles-pp.do_mprotect_pkey 34.28 -1.9 32.37 perf-profile.children.cycles-pp.mprotect_fixup 24.66 -1.3 23.40 perf-profile.children.cycles-pp.vma_modify 5.34 -0.7 4.66 perf-profile.children.cycles-pp.sysvec_apic_timer_interrupt 5.37 -0.7 4.71 perf-profile.children.cycles-pp.asm_sysvec_apic_timer_interrupt 7.37 -0.7 6.71 ± 3% perf-profile.children.cycles-pp.perf_event_mmap 5.05 -0.6 4.41 ± 2% perf-profile.children.cycles-pp.handle_softirqs 5.04 -0.6 4.39 ± 2% perf-profile.children.cycles-pp.rcu_core 4.95 -0.6 4.31 perf-profile.children.cycles-pp.irq_exit_rcu 5.01 -0.6 4.37 ± 2% perf-profile.children.cycles-pp.rcu_do_batch 11.11 -0.6 10.48 perf-profile.children.cycles-pp.__split_vma 13.43 -0.6 12.82 perf-profile.children.cycles-pp.vma_merge 7.02 -0.6 6.42 ± 3% perf-profile.children.cycles-pp.perf_event_mmap_event 4.58 -0.6 4.03 ± 2% perf-profile.children.cycles-pp.kmem_cache_free 4.07 -0.5 3.60 perf-profile.children.cycles-pp.mas_store_prealloc 6.63 -0.5 6.18 perf-profile.children.cycles-pp.vma_complete 3.71 -0.4 3.26 perf-profile.children.cycles-pp.mas_wr_store_entry 3.20 -0.4 2.77 ± 3% perf-profile.children.cycles-pp.__slab_free 5.57 -0.4 5.16 ± 3% perf-profile.children.cycles-pp.vma_prepare 3.10 -0.4 2.74 perf-profile.children.cycles-pp.handle_signal 2.97 -0.3 2.63 perf-profile.children.cycles-pp.clear_bhb_loop 2.92 -0.3 2.59 ± 2% perf-profile.children.cycles-pp.mas_wr_node_store 3.00 -0.3 2.73 perf-profile.children.cycles-pp.kmem_cache_alloc_noprof 5.08 -0.3 4.82 ± 3% perf-profile.children.cycles-pp.down_write 1.81 ± 2% -0.2 1.57 ± 2% perf-profile.children.cycles-pp.vma_interval_tree_insert 2.31 ± 2% -0.2 2.08 ± 5% perf-profile.children.cycles-pp.rwsem_down_write_slowpath 1.82 -0.2 1.59 perf-profile.children.cycles-pp.x64_setup_rt_frame 2.09 ± 2% -0.2 1.89 ± 5% perf-profile.children.cycles-pp.rwsem_optimistic_spin 1.38 -0.2 1.18 perf-profile.children.cycles-pp.security_file_mprotect 1.52 -0.2 1.32 perf-profile.children.cycles-pp.get_sigframe 2.32 -0.2 2.14 perf-profile.children.cycles-pp.stress_sig_handler 1.42 -0.2 1.24 perf-profile.children.cycles-pp.vm_area_free_rcu_cb 1.48 -0.2 1.32 perf-profile.children.cycles-pp.entry_SYSCALL_64 1.23 ± 2% -0.2 1.06 ± 4% perf-profile.children.cycles-pp.rwsem_spin_on_owner 3.17 -0.2 3.01 perf-profile.children.cycles-pp.mas_find 1.31 -0.1 1.16 perf-profile.children.cycles-pp.can_modify_mm 0.77 -0.1 0.63 perf-profile.children.cycles-pp.apparmor_file_mprotect 1.11 -0.1 0.97 perf-profile.children.cycles-pp.entry_SYSRETQ_unsafe_stack 1.98 -0.1 1.84 perf-profile.children.cycles-pp.vm_area_dup 1.18 -0.1 1.06 ± 2% perf-profile.children.cycles-pp.vma_interval_tree_remove 0.97 -0.1 0.85 perf-profile.children.cycles-pp.stress_mwc16modn 2.09 -0.1 1.96 perf-profile.children.cycles-pp.mas_walk 1.30 -0.1 1.18 perf-profile.children.cycles-pp.__memcg_slab_post_alloc_hook 0.89 -0.1 0.78 perf-profile.children.cycles-pp.sync_regs 0.83 -0.1 0.73 perf-profile.children.cycles-pp.copy_fpstate_to_sigframe 0.94 -0.1 0.84 perf-profile.children.cycles-pp.stress_mwc32modn 0.73 -0.1 0.64 perf-profile.children.cycles-pp.native_irq_return_iret 0.78 -0.1 0.69 perf-profile.children.cycles-pp.__memcg_slab_free_hook 0.45 -0.1 0.37 ± 3% perf-profile.children.cycles-pp.rcu_cblist_dequeue 0.65 ± 3% -0.1 0.57 ± 3% perf-profile.children.cycles-pp.__perf_event_header__init_id 0.65 -0.1 0.57 ± 2% perf-profile.children.cycles-pp.simple_dname 0.57 -0.1 0.49 ± 2% perf-profile.children.cycles-pp.save_xstate_epilog 0.72 -0.1 0.65 perf-profile.children.cycles-pp.syscall_exit_to_user_mode 1.92 -0.1 1.85 perf-profile.children.cycles-pp.pthread_sigmask 0.62 -0.1 0.55 perf-profile.children.cycles-pp.mod_objcg_state 0.60 -0.1 0.54 perf-profile.children.cycles-pp.__rseq_handle_notify_resume 0.65 ± 2% -0.1 0.59 perf-profile.children.cycles-pp.mt_find 0.82 -0.1 0.76 perf-profile.children.cycles-pp.___slab_alloc 0.72 ± 4% -0.1 0.66 ± 2% perf-profile.children.cycles-pp.__cond_resched 0.37 -0.0 0.32 ± 2% perf-profile.children.cycles-pp.__rb_insert_augmented 0.43 ± 2% -0.0 0.38 ± 2% perf-profile.children.cycles-pp.obj_cgroup_charge 0.50 -0.0 0.45 ± 2% perf-profile.children.cycles-pp.prepend_copy 0.46 -0.0 0.42 perf-profile.children.cycles-pp.ima_file_mprotect 0.23 ± 4% -0.0 0.19 ± 13% perf-profile.children.cycles-pp.__memcpy 0.57 -0.0 0.52 perf-profile.children.cycles-pp.fpu__clear_user_states 0.44 -0.0 0.40 ± 2% perf-profile.children.cycles-pp.mtree_load 0.39 -0.0 0.35 perf-profile.children.cycles-pp.rseq_ip_fixup 0.43 -0.0 0.39 ± 2% perf-profile.children.cycles-pp.copy_from_kernel_nofault 0.42 -0.0 0.39 ± 2% perf-profile.children.cycles-pp.syscall_return_via_sysret 0.37 -0.0 0.33 ± 2% perf-profile.children.cycles-pp.vma_set_page_prot 0.39 -0.0 0.35 ± 2% perf-profile.children.cycles-pp.kfree 0.27 ± 4% -0.0 0.24 ± 4% perf-profile.children.cycles-pp.local_clock 0.26 -0.0 0.22 ± 2% perf-profile.children.cycles-pp.mas_wr_end_piv 0.28 -0.0 0.25 perf-profile.children.cycles-pp.syscall_exit_to_user_mode_prepare 0.20 ± 2% -0.0 0.16 ± 4% perf-profile.children.cycles-pp.strlen 0.23 ± 2% -0.0 0.20 ± 4% perf-profile.children.cycles-pp.mas_update_gap 0.50 -0.0 0.47 perf-profile.children.cycles-pp.kmalloc_trace_noprof 0.18 ± 3% -0.0 0.15 perf-profile.children.cycles-pp.vm_get_page_prot 0.37 ± 2% -0.0 0.34 perf-profile.children.cycles-pp.vma_wants_writenotify 0.25 ± 4% -0.0 0.22 ± 2% perf-profile.children.cycles-pp.local_clock_noinstr 0.23 ± 3% -0.0 0.20 ± 5% perf-profile.children.cycles-pp._copy_from_user 0.22 ± 2% -0.0 0.19 ± 2% perf-profile.children.cycles-pp.__put_user_nocheck_4 0.22 ± 3% -0.0 0.19 ± 2% perf-profile.children.cycles-pp.native_sched_clock 0.30 ± 5% -0.0 0.28 ± 2% perf-profile.children.cycles-pp.rcu_all_qs 0.10 ± 3% -0.0 0.07 ± 5% perf-profile.children.cycles-pp.aa_file_perm 0.29 ± 2% -0.0 0.27 perf-profile.children.cycles-pp.mas_pop_node 0.15 ± 3% -0.0 0.13 ± 3% perf-profile.children.cycles-pp.mas_leaf_max_gap 0.14 ± 3% -0.0 0.11 ± 4% perf-profile.children.cycles-pp.copy_from_kernel_nofault_allowed 0.18 ± 3% -0.0 0.16 ± 3% perf-profile.children.cycles-pp.rseq_get_rseq_cs 0.20 ± 2% -0.0 0.18 ± 2% perf-profile.children.cycles-pp.rseq_update_cpu_node_id 0.28 -0.0 0.26 perf-profile.children.cycles-pp.x64_sys_call 0.14 -0.0 0.12 ± 5% perf-profile.children.cycles-pp.__get_user_nocheck_4 0.10 ± 4% -0.0 0.09 ± 5% perf-profile.children.cycles-pp.uprobe_mmap 0.42 -0.0 0.40 perf-profile.children.cycles-pp.mas_prev_node 0.12 ± 9% -0.0 0.10 ± 6% perf-profile.children.cycles-pp.entry_SYSCALL_64_safe_stack 0.13 -0.0 0.12 ± 4% perf-profile.children.cycles-pp.find_vma 0.12 ± 4% -0.0 0.11 perf-profile.children.cycles-pp.__put_user_8 0.13 ± 2% -0.0 0.11 ± 4% perf-profile.children.cycles-pp.amd_clear_divider 0.12 ± 3% -0.0 0.11 ± 4% perf-profile.children.cycles-pp.mas_put_in_tree 0.10 -0.0 0.09 ± 5% perf-profile.children.cycles-pp.vma_interval_tree_augment_rotate 0.10 ± 3% -0.0 0.09 ± 4% perf-profile.children.cycles-pp.vm_stat_account 0.08 ± 5% -0.0 0.07 perf-profile.children.cycles-pp.mas_data_end 0.10 -0.0 0.09 ± 4% perf-profile.children.cycles-pp.error_entry 0.09 -0.0 0.08 perf-profile.children.cycles-pp.__arch_override_mprotect_pkey 0.19 +0.0 0.20 perf-profile.children.cycles-pp.mas_prev 0.08 +0.0 0.09 ± 5% perf-profile.children.cycles-pp.mas_prev_setup 0.37 +0.0 0.39 perf-profile.children.cycles-pp.mas_ascend 0.06 +0.0 0.08 ± 6% perf-profile.children.cycles-pp.send_signal_locked 0.47 +0.0 0.49 perf-profile.children.cycles-pp.__set_current_blocked 0.10 ± 3% +0.0 0.12 ± 4% perf-profile.children.cycles-pp.prepare_signal 0.03 ± 70% +0.0 0.06 perf-profile.children.cycles-pp.perf_output_put_handle 0.54 +0.0 0.57 ± 2% perf-profile.children.cycles-pp.rcu_segcblist_enqueue 0.52 +0.0 0.56 perf-profile.children.cycles-pp.__bad_area 0.48 +0.0 0.52 perf-profile.children.cycles-pp.up_read 0.88 +0.0 0.92 perf-profile.children.cycles-pp.__x64_sys_rt_sigprocmask 0.00 +0.1 0.05 perf-profile.children.cycles-pp.__init_rwsem 0.28 ± 2% +0.1 0.33 ± 2% perf-profile.children.cycles-pp.__perf_sw_event 0.36 +0.1 0.42 perf-profile.children.cycles-pp.mas_next_node 0.41 +0.1 0.47 ± 2% perf-profile.children.cycles-pp.fput 0.89 ± 4% +0.1 0.96 ± 2% perf-profile.children.cycles-pp.perf_output_begin 0.08 +0.1 0.15 ± 3% perf-profile.children.cycles-pp.mas_node_count_gfp 0.63 +0.1 0.71 perf-profile.children.cycles-pp.sigprocmask 0.83 +0.1 0.91 perf-profile.children.cycles-pp.tlb_gather_mmu 0.85 +0.1 0.94 perf-profile.children.cycles-pp.tlb_finish_mmu 1.86 +0.1 1.95 perf-profile.children.cycles-pp.down_write_killable 1.77 +0.1 1.88 perf-profile.children.cycles-pp.mas_preallocate 0.89 +0.1 1.03 perf-profile.children.cycles-pp.recalc_sigpending 5.06 +0.4 5.47 perf-profile.children.cycles-pp.up_write 14.39 +1.5 15.86 perf-profile.children.cycles-pp.force_sig_info_to_task 14.51 +1.5 15.99 perf-profile.children.cycles-pp.force_sig_fault 12.57 +1.5 14.05 perf-profile.children.cycles-pp.__sigqueue_alloc 14.72 +1.5 16.22 perf-profile.children.cycles-pp.__bad_area_nosemaphore 13.13 +1.5 14.64 perf-profile.children.cycles-pp.__send_signal_locked 16.64 +1.5 18.16 perf-profile.children.cycles-pp.exc_page_fault 12.16 +1.5 13.67 perf-profile.children.cycles-pp.inc_rlimit_get_ucounts 15.30 +1.5 16.83 perf-profile.children.cycles-pp.bad_area_access_error 16.04 +2.3 18.35 perf-profile.children.cycles-pp.irqentry_exit_to_user_mode 15.92 +2.3 18.23 perf-profile.children.cycles-pp.arch_do_signal_or_restart 10.32 +2.7 12.98 perf-profile.children.cycles-pp.do_dec_rlimit_put_ucounts 12.20 +2.7 14.87 perf-profile.children.cycles-pp.get_signal 36.12 +3.3 39.41 perf-profile.children.cycles-pp.stress_mprotect_mem 35.30 +3.5 38.83 perf-profile.children.cycles-pp.asm_exc_page_fault 3.60 -0.4 3.18 perf-profile.self.cycles-pp.stress_mprotect_mem 3.11 -0.4 2.69 ± 3% perf-profile.self.cycles-pp.__slab_free 3.55 -0.4 3.19 perf-profile.self.cycles-pp.do_mprotect_pkey 2.92 -0.3 2.59 perf-profile.self.cycles-pp.clear_bhb_loop 2.26 ± 3% -0.3 2.00 ± 8% perf-profile.self.cycles-pp.perf_event_mmap_output 1.70 ± 2% -0.2 1.48 ± 3% perf-profile.self.cycles-pp.vma_interval_tree_insert 1.23 ± 2% -0.2 1.06 ± 3% perf-profile.self.cycles-pp.mas_wr_node_store 1.16 ± 2% -0.2 1.00 ± 4% perf-profile.self.cycles-pp.rwsem_spin_on_owner 1.07 -0.1 0.94 perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack 1.93 -0.1 1.80 perf-profile.self.cycles-pp.mas_walk 0.63 -0.1 0.52 ± 2% perf-profile.self.cycles-pp.apparmor_file_mprotect 0.92 -0.1 0.82 perf-profile.self.cycles-pp.__split_vma 0.88 -0.1 0.77 perf-profile.self.cycles-pp.stress_mwc16modn 1.11 -0.1 1.00 ± 3% perf-profile.self.cycles-pp.vma_interval_tree_remove 0.88 -0.1 0.78 perf-profile.self.cycles-pp.sync_regs 0.73 -0.1 0.64 perf-profile.self.cycles-pp.native_irq_return_iret 0.71 -0.1 0.62 perf-profile.self.cycles-pp.copy_fpstate_to_sigframe 0.86 -0.1 0.77 perf-profile.self.cycles-pp.stress_mwc32modn 0.44 -0.1 0.36 ± 3% perf-profile.self.cycles-pp.rcu_cblist_dequeue 0.71 -0.1 0.64 ± 2% perf-profile.self.cycles-pp.kmem_cache_alloc_noprof 0.62 -0.1 0.56 perf-profile.self.cycles-pp.__memcg_slab_post_alloc_hook 0.54 -0.1 0.48 perf-profile.self.cycles-pp.mas_find 0.55 -0.1 0.50 perf-profile.self.cycles-pp.can_modify_mm 0.43 -0.1 0.38 perf-profile.self.cycles-pp.kmem_cache_free 0.56 -0.0 0.51 perf-profile.self.cycles-pp.do_syscall_64 0.44 -0.0 0.39 perf-profile.self.cycles-pp.entry_SYSCALL_64 0.43 -0.0 0.38 perf-profile.self.cycles-pp.entry_SYSCALL_64_after_hwframe 0.57 ± 2% -0.0 0.52 ± 4% perf-profile.self.cycles-pp.__call_rcu_common 0.56 ± 2% -0.0 0.51 perf-profile.self.cycles-pp.mt_find 0.35 -0.0 0.31 perf-profile.self.cycles-pp.fpu__clear_user_states 0.37 -0.0 0.33 ± 2% perf-profile.self.cycles-pp.obj_cgroup_charge 0.43 -0.0 0.39 perf-profile.self.cycles-pp.mod_objcg_state 0.32 ± 3% -0.0 0.28 ± 2% perf-profile.self.cycles-pp.perf_event_mmap 0.24 -0.0 0.20 ± 3% perf-profile.self.cycles-pp.mas_wr_store_entry 0.32 -0.0 0.28 ± 3% perf-profile.self.cycles-pp.__rb_insert_augmented 0.43 -0.0 0.39 perf-profile.self.cycles-pp.ima_file_mprotect 0.41 -0.0 0.37 perf-profile.self.cycles-pp.mtree_load 0.22 -0.0 0.18 ± 2% perf-profile.self.cycles-pp.vm_area_free_rcu_cb 0.36 -0.0 0.32 ± 2% perf-profile.self.cycles-pp.__memcg_slab_free_hook 0.42 -0.0 0.39 perf-profile.self.cycles-pp.mas_next_slot 1.35 -0.0 1.32 perf-profile.self.cycles-pp.__mprotect 0.41 -0.0 0.38 perf-profile.self.cycles-pp.syscall_return_via_sysret 0.50 ± 2% -0.0 0.47 ± 2% perf-profile.self.cycles-pp.perf_event_mmap_event 0.18 ± 4% -0.0 0.15 ± 12% perf-profile.self.cycles-pp.__memcpy 0.36 ± 2% -0.0 0.32 ± 2% perf-profile.self.cycles-pp.kfree 0.18 ± 2% -0.0 0.15 ± 3% perf-profile.self.cycles-pp.strlen 0.28 -0.0 0.25 ± 3% perf-profile.self.cycles-pp.x64_setup_rt_frame 0.24 -0.0 0.21 perf-profile.self.cycles-pp.syscall_exit_to_user_mode_prepare 0.19 ± 5% -0.0 0.16 ± 4% perf-profile.self.cycles-pp.__perf_event_header__init_id 0.21 ± 2% -0.0 0.18 ± 2% perf-profile.self.cycles-pp.save_xstate_epilog 0.12 -0.0 0.09 ± 4% perf-profile.self.cycles-pp.simple_dname 0.20 ± 2% -0.0 0.18 ± 7% perf-profile.self.cycles-pp.rwsem_down_write_slowpath 0.06 -0.0 0.03 ± 70% perf-profile.self.cycles-pp.force_sig_info_to_task 0.20 ± 2% -0.0 0.17 ± 2% perf-profile.self.cycles-pp.mas_wr_end_piv 0.21 ± 3% -0.0 0.19 ± 3% perf-profile.self.cycles-pp._copy_from_user 0.14 ± 4% -0.0 0.12 ± 4% perf-profile.self.cycles-pp.mas_leaf_max_gap 0.20 ± 3% -0.0 0.18 ± 3% perf-profile.self.cycles-pp.native_sched_clock 0.31 ± 2% -0.0 0.28 perf-profile.self.cycles-pp.syscall_exit_to_user_mode 0.19 ± 3% -0.0 0.17 ± 2% perf-profile.self.cycles-pp.__put_user_nocheck_4 0.15 ± 2% -0.0 0.13 ± 4% perf-profile.self.cycles-pp.vm_get_page_prot 0.36 -0.0 0.34 ± 2% perf-profile.self.cycles-pp.___slab_alloc 0.18 ± 2% -0.0 0.16 ± 2% perf-profile.self.cycles-pp.rseq_update_cpu_node_id 0.08 ± 4% -0.0 0.06 ± 6% perf-profile.self.cycles-pp.aa_file_perm 0.38 -0.0 0.36 perf-profile.self.cycles-pp.mprotect_fixup 0.26 -0.0 0.25 perf-profile.self.cycles-pp.mas_pop_node 0.15 ± 2% -0.0 0.13 perf-profile.self.cycles-pp.pthread_sigmask 0.23 ± 2% -0.0 0.21 perf-profile.self.cycles-pp.vma_wants_writenotify 0.28 -0.0 0.26 ± 2% perf-profile.self.cycles-pp.copy_from_kernel_nofault 0.14 ± 3% -0.0 0.12 perf-profile.self.cycles-pp.mas_prev_node 0.13 -0.0 0.11 ± 6% perf-profile.self.cycles-pp.__get_user_nocheck_4 0.12 -0.0 0.10 ± 4% perf-profile.self.cycles-pp.arch_do_signal_or_restart 0.11 ± 6% -0.0 0.10 ± 4% perf-profile.self.cycles-pp.entry_SYSCALL_64_safe_stack 0.09 -0.0 0.07 ± 6% perf-profile.self.cycles-pp.uprobe_mmap 0.28 -0.0 0.27 perf-profile.self.cycles-pp.get_signal 0.23 -0.0 0.22 ± 2% perf-profile.self.cycles-pp.x64_sys_call 0.11 ± 3% -0.0 0.09 ± 5% perf-profile.self.cycles-pp.copy_from_kernel_nofault_allowed 0.12 ± 4% -0.0 0.10 perf-profile.self.cycles-pp.__put_user_8 0.18 ± 2% -0.0 0.17 ± 4% perf-profile.self.cycles-pp.__task_pid_nr_ns 0.10 ± 3% -0.0 0.09 ± 4% perf-profile.self.cycles-pp.__x64_sys_mprotect 0.09 -0.0 0.08 ± 6% perf-profile.self.cycles-pp.vma_interval_tree_augment_rotate 0.11 -0.0 0.10 ± 4% perf-profile.self.cycles-pp.mas_put_in_tree 0.09 -0.0 0.08 ± 4% perf-profile.self.cycles-pp.error_entry 0.10 ± 3% -0.0 0.09 perf-profile.self.cycles-pp.stress_sig_handler 0.07 -0.0 0.06 perf-profile.self.cycles-pp.mas_data_end 0.08 -0.0 0.07 perf-profile.self.cycles-pp.handle_signal 0.06 -0.0 0.05 perf-profile.self.cycles-pp.rcu_do_batch 0.34 +0.0 0.35 perf-profile.self.cycles-pp.mas_ascend 0.09 +0.0 0.11 ± 4% perf-profile.self.cycles-pp.vma_adjust_trans_huge 0.54 +0.0 0.56 perf-profile.self.cycles-pp._raw_spin_lock_irq 0.16 ± 2% +0.0 0.18 perf-profile.self.cycles-pp.lock_vma_under_rcu 1.12 +0.0 1.14 perf-profile.self.cycles-pp.vma_merge 0.09 +0.0 0.12 ± 3% perf-profile.self.cycles-pp.prepare_signal 0.43 +0.0 0.46 perf-profile.self.cycles-pp.mas_preallocate 0.29 +0.0 0.32 perf-profile.self.cycles-pp.mas_prev_slot 0.52 +0.0 0.55 ± 2% perf-profile.self.cycles-pp.rcu_segcblist_enqueue 0.45 +0.0 0.50 perf-profile.self.cycles-pp.up_read 0.00 +0.1 0.05 perf-profile.self.cycles-pp.send_signal_locked 0.17 ± 2% +0.1 0.22 ± 2% perf-profile.self.cycles-pp.mas_next_node 0.80 ± 4% +0.1 0.86 ± 2% perf-profile.self.cycles-pp.perf_output_begin 0.13 ± 2% +0.1 0.19 perf-profile.self.cycles-pp.mas_alloc_nodes 0.38 +0.1 0.44 perf-profile.self.cycles-pp.fput 0.05 +0.1 0.12 ± 3% perf-profile.self.cycles-pp.mas_node_count_gfp 0.00 +0.1 0.07 ± 6% perf-profile.self.cycles-pp.__perf_sw_event 0.77 +0.1 0.85 perf-profile.self.cycles-pp.tlb_gather_mmu 0.79 +0.1 0.88 perf-profile.self.cycles-pp.tlb_finish_mmu 1.52 +0.1 1.66 perf-profile.self.cycles-pp.down_write_killable 0.88 +0.1 1.02 perf-profile.self.cycles-pp.recalc_sigpending 4.50 +0.5 4.96 perf-profile.self.cycles-pp.up_write 12.16 +1.5 13.67 perf-profile.self.cycles-pp.inc_rlimit_get_ucounts 10.32 +2.7 12.98 perf-profile.self.cycles-pp.do_dec_rlimit_put_ucounts Disclaimer: Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki