From: kernel test robot <oliver.sang@intel.com>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
<linux-kernel@vger.kernel.org>,
Christian Brauner <brauner@kernel.org>,
<linux-fsdevel@vger.kernel.org>, <oliver.sang@intel.com>
Subject: [linus:master] [do_pollfd()] 8935989798: will-it-scale.per_process_ops 11.7% regression
Date: Sun, 26 Jan 2025 16:16:04 +0800 [thread overview]
Message-ID: <202501261509.b6b4260d-lkp@intel.com> (raw)
Hello,
kernel test robot noticed a 11.7% regression of will-it-scale.per_process_ops on:
commit: 89359897983825dbfc08578e7ee807aaf24d9911 ("do_pollfd(): convert to CLASS(fd)")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
[test faield on linus/master b46c89c08f4146e7987fc355941a93b12e2c03ef]
[test failed on linux-next/master 5ffa57f6eecefababb8cbe327222ef171943b183]
testcase: will-it-scale
config: x86_64-rhel-9.4
compiler: gcc-12
test machine: 104 threads 2 sockets (Skylake) with 192G memory
parameters:
nr_task: 100%
mode: process
test: poll2
cpufreq_governor: performance
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202501261509.b6b4260d-lkp@intel.com
Details are as below:
-------------------------------------------------------------------------------------------------->
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250126/202501261509.b6b4260d-lkp@intel.com
=========================================================================================
compiler/cpufreq_governor/kconfig/mode/nr_task/rootfs/tbox_group/test/testcase:
gcc-12/performance/x86_64-rhel-9.4/process/100%/debian-12-x86_64-20240206.cgz/lkp-skl-fpga01/poll2/will-it-scale
commit:
d000e073ca ("convert do_select()")
8935989798 ("do_pollfd(): convert to CLASS(fd)")
d000e073ca2a08ab 89359897983825dbfc08578e7ee
---------------- ---------------------------
%stddev %change %stddev
\ | \
21281 ±147% +197.5% 63313 ± 84% numa-meminfo.node0.Shmem
5318 ±147% +197.5% 15825 ± 84% numa-vmstat.node0.nr_shmem
27370126 -11.7% 24170828 will-it-scale.104.processes
263173 -11.7% 232411 will-it-scale.per_process_ops
27370126 -11.7% 24170828 will-it-scale.workload
0.12 ± 16% -42.1% 0.07 ± 42% perf-sched.sch_delay.avg.ms.schedule_timeout.__wait_for_common.wait_for_completion_state.kernel_clone
4.33 ± 28% +154.2% 11.02 ± 61% perf-sched.sch_delay.max.ms.irqentry_exit_to_user_mode.asm_sysvec_reschedule_ipi.[unknown]
268.62 ± 53% -61.2% 104.10 ±114% perf-sched.wait_and_delay.avg.ms.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.__x64_sys_epoll_wait
1053 ± 6% -17.1% 873.33 ± 15% perf-sched.wait_and_delay.count.irqentry_exit_to_user_mode.asm_sysvec_apic_timer_interrupt.[unknown]
1687 ± 10% +11.7% 1884 ± 6% perf-sched.wait_and_delay.count.pipe_read.vfs_read.ksys_read.do_syscall_64
3519 ± 4% +11.2% 3913 ± 5% perf-sched.wait_and_delay.count.syscall_exit_to_user_mode.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
8.67 ± 28% +154.2% 22.04 ± 61% perf-sched.wait_and_delay.max.ms.irqentry_exit_to_user_mode.asm_sysvec_reschedule_ipi.[unknown]
268.45 ± 53% -61.4% 103.72 ±115% perf-sched.wait_time.avg.ms.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.__x64_sys_epoll_wait
4.33 ± 28% +154.2% 11.02 ± 61% perf-sched.wait_time.max.ms.irqentry_exit_to_user_mode.asm_sysvec_reschedule_ipi.[unknown]
0.01 ± 2% +10.0% 0.01 perf-stat.i.MPKI
5.157e+10 -11.7% 4.554e+10 perf-stat.i.branch-instructions
1.573e+08 -11.8% 1.387e+08 perf-stat.i.branch-misses
0.97 +13.1% 1.09 perf-stat.i.cpi
2.9e+11 -11.7% 2.561e+11 perf-stat.i.instructions
1.04 -11.7% 0.91 perf-stat.i.ipc
0.00 ± 2% +17.9% 0.00 perf-stat.overall.MPKI
0.96 +13.2% 1.09 perf-stat.overall.cpi
1.04 -11.7% 0.92 perf-stat.overall.ipc
5.14e+10 -11.7% 4.538e+10 perf-stat.ps.branch-instructions
1.567e+08 -11.8% 1.382e+08 perf-stat.ps.branch-misses
2.891e+11 -11.7% 2.552e+11 perf-stat.ps.instructions
8.743e+13 -11.7% 7.724e+13 perf-stat.total.instructions
7.61 -0.6 7.03 perf-profile.calltrace.cycles-pp.syscall_return_via_sysret.__poll
6.16 -0.5 5.66 perf-profile.calltrace.cycles-pp.entry_SYSRETQ_unsafe_stack.__poll
5.11 ± 2% -0.5 4.62 ± 2% perf-profile.calltrace.cycles-pp.testcase
2.92 ± 2% -0.4 2.55 ± 2% perf-profile.calltrace.cycles-pp._copy_from_user.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe
2.91 -0.3 2.60 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.__poll
1.92 ± 5% -0.3 1.67 ± 4% perf-profile.calltrace.cycles-pp.rep_movs_alternative._copy_from_user.do_sys_poll.__x64_sys_poll.do_syscall_64
2.12 -0.2 1.91 perf-profile.calltrace.cycles-pp.__check_object_size.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe
1.32 -0.2 1.17 perf-profile.calltrace.cycles-pp.__kmalloc_noprof.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe
1.84 -0.1 1.72 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_safe_stack.__poll
0.98 -0.1 0.88 ± 2% perf-profile.calltrace.cycles-pp.check_heap_object.__check_object_size.do_sys_poll.__x64_sys_poll.do_syscall_64
0.97 -0.1 0.88 perf-profile.calltrace.cycles-pp.kfree.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe
0.72 -0.1 0.66 perf-profile.calltrace.cycles-pp.__virt_addr_valid.check_heap_object.__check_object_size.do_sys_poll.__x64_sys_poll
0.62 -0.1 0.57 perf-profile.calltrace.cycles-pp.syscall_exit_to_user_mode.do_syscall_64.entry_SYSCALL_64_after_hwframe.__poll
94.36 +0.5 94.89 perf-profile.calltrace.cycles-pp.__poll
75.76 +2.0 77.76 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__poll
71.45 +2.4 73.83 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__poll
69.72 +2.5 72.24 perf-profile.calltrace.cycles-pp.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe.__poll
69.19 +2.6 71.77 perf-profile.calltrace.cycles-pp.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe.__poll
54.05 +4.1 58.18 perf-profile.calltrace.cycles-pp.do_poll.do_sys_poll.__x64_sys_poll.do_syscall_64.entry_SYSCALL_64_after_hwframe
38.56 +4.5 43.08 perf-profile.calltrace.cycles-pp.fdget.do_poll.do_sys_poll.__x64_sys_poll.do_syscall_64
7.68 -0.6 7.10 perf-profile.children.cycles-pp.syscall_return_via_sysret
6.61 -0.6 6.06 perf-profile.children.cycles-pp.entry_SYSRETQ_unsafe_stack
5.12 ± 2% -0.5 4.64 ± 2% perf-profile.children.cycles-pp.testcase
3.15 ± 2% -0.4 2.74 ± 2% perf-profile.children.cycles-pp._copy_from_user
3.70 -0.4 3.33 perf-profile.children.cycles-pp.entry_SYSCALL_64
1.94 ± 4% -0.3 1.69 ± 4% perf-profile.children.cycles-pp.rep_movs_alternative
2.26 -0.2 2.04 perf-profile.children.cycles-pp.__check_object_size
1.35 -0.2 1.19 perf-profile.children.cycles-pp.__kmalloc_noprof
1.04 -0.1 0.94 perf-profile.children.cycles-pp.check_heap_object
0.97 -0.1 0.88 perf-profile.children.cycles-pp.kfree
1.07 -0.1 1.00 perf-profile.children.cycles-pp.entry_SYSCALL_64_safe_stack
0.74 -0.1 0.66 perf-profile.children.cycles-pp.__virt_addr_valid
0.57 -0.1 0.50 perf-profile.children.cycles-pp.__check_heap_object
0.63 -0.0 0.58 perf-profile.children.cycles-pp.syscall_exit_to_user_mode
0.22 ± 2% -0.0 0.20 ± 2% perf-profile.children.cycles-pp.check_stack_object
0.18 ± 3% -0.0 0.16 perf-profile.children.cycles-pp.__cond_resched
0.07 ± 6% -0.0 0.06 perf-profile.children.cycles-pp.is_vmalloc_addr
0.13 -0.0 0.12 ± 3% perf-profile.children.cycles-pp.x64_sys_call
0.34 -0.0 0.33 perf-profile.children.cycles-pp.__hrtimer_run_queues
0.12 ± 3% -0.0 0.11 perf-profile.children.cycles-pp.rcu_all_qs
94.98 +0.5 95.45 perf-profile.children.cycles-pp.__poll
75.89 +2.0 77.89 perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe
71.52 +2.4 73.89 perf-profile.children.cycles-pp.do_syscall_64
69.78 +2.5 72.29 perf-profile.children.cycles-pp.__x64_sys_poll
69.28 +2.6 71.85 perf-profile.children.cycles-pp.do_sys_poll
54.18 +4.1 58.28 perf-profile.children.cycles-pp.do_poll
38.44 +4.6 43.00 perf-profile.children.cycles-pp.fdget
7.24 -0.6 6.60 perf-profile.self.cycles-pp.do_sys_poll
7.68 -0.6 7.09 perf-profile.self.cycles-pp.syscall_return_via_sysret
16.95 -0.6 16.39 perf-profile.self.cycles-pp.do_poll
6.55 -0.5 6.00 perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack
4.93 ± 2% -0.5 4.46 ± 2% perf-profile.self.cycles-pp.testcase
4.46 -0.4 4.06 perf-profile.self.cycles-pp.entry_SYSCALL_64_after_hwframe
3.25 -0.3 2.92 perf-profile.self.cycles-pp.entry_SYSCALL_64
1.78 ± 5% -0.2 1.54 ± 4% perf-profile.self.cycles-pp.rep_movs_alternative
1.34 -0.2 1.18 perf-profile.self.cycles-pp._copy_from_user
1.16 -0.1 1.02 ± 2% perf-profile.self.cycles-pp.__kmalloc_noprof
0.96 -0.1 0.87 perf-profile.self.cycles-pp.kfree
0.68 -0.1 0.61 ± 2% perf-profile.self.cycles-pp.__virt_addr_valid
0.56 -0.1 0.50 perf-profile.self.cycles-pp.__check_heap_object
0.43 -0.0 0.39 perf-profile.self.cycles-pp.__x64_sys_poll
0.49 -0.0 0.45 perf-profile.self.cycles-pp.syscall_exit_to_user_mode
0.29 ± 2% -0.0 0.26 ± 3% perf-profile.self.cycles-pp.entry_SYSCALL_64_safe_stack
0.19 -0.0 0.17 ± 3% perf-profile.self.cycles-pp.check_stack_object
0.26 -0.0 0.25 ± 3% perf-profile.self.cycles-pp.check_heap_object
0.12 -0.0 0.11 ± 3% perf-profile.self.cycles-pp.x64_sys_call
36.98 +4.6 41.62 perf-profile.self.cycles-pp.fdget
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
next reply other threads:[~2025-01-26 8:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-26 8:16 kernel test robot [this message]
2025-01-27 19:26 ` [linus:master] [do_pollfd()] 8935989798: will-it-scale.per_process_ops 11.7% regression Al Viro
2025-01-28 9:37 ` Oliver Sang
2025-01-28 19:10 ` Al Viro
2025-02-18 5:31 ` Oliver Sang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202501261509.b6b4260d-lkp@intel.com \
--to=oliver.sang@intel.com \
--cc=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-lkp@lists.linux.dev \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.