On arm64 machine Hardware configs: Aarch64 128 CPUs 502G RAM, numa nodes: 4 Software configs: OS: ubuntu 20.04 Official kernel: 5.15 hwe (5.15.0-86.96~20.04.1) Test kernel: 5.15 hwe (5.15.0-86.96~20.04.1+test20231013b0) https://launchpad.net/~gerald-yang-tw/+archive/ubuntu/focal-no-hz-full Test case 1, without NO_HZ_FULL built-in (default ubuntu kernel config): Run test program 4 times without taskset tail -n 2 log/notaskset.* ==> log/notaskset.1 <== total 29370767905 nsec avg 293 nsec ==> log/notaskset.2 <== total 29359558119 nsec avg 293 nsec ==> log/notaskset.3 <== total 29370043654 nsec avg 293 nsec ==> log/notaskset.4 <== total 29362365433 nsec avg 293 nsec Run test program 4 times with taskset to CPU 4 tail -n 2 log/taskset.* ==> log/taskset.1 <== total 29372156600 nsec avg 293 nsec ==> log/taskset.2 <== total 29367538079 nsec avg 293 nsec ==> log/taskset.3 <== total 29366224367 nsec avg 293 nsec ==> log/taskset.4 <== total 29367978392 nsec avg 293 nsec Test case 2, with NO_HZ_FULL built-in but not activate in kernel cmdline: Run test program 4 times without taskset tail -n 2 nohz-log/notaskset.* ==> nohz-log/notaskset.1 <== total 27591230003 nsec avg 275 nsec ==> nohz-log/notaskset.2 <== total 27582359987 nsec avg 275 nsec ==> nohz-log/notaskset.3 <== total 27585635138 nsec avg 275 nsec ==> nohz-log/notaskset.4 <== total 27587532170 nsec avg 275 nsec Run test program 4 times with taskset to CPU 4 tail -n 2 nohz-log/taskset.* ==> nohz-log/taskset.1 <== total 27587206878 nsec avg 275 nsec ==> nohz-log/taskset.2 <== total 27579854104 nsec avg 275 nsec ==> nohz-log/taskset.3 <== total 27588163798 nsec avg 275 nsec ==> nohz-log/taskset.4 <== total 27589441746 nsec avg 275 nsec Test case 3, with NO_HZ_FULL built-in, activate nohz_full in kernel cmdline: cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-5.15.0-86-generic root=UUID=7c25ee2a-4c18-462a-90db-94273e5de74b ro isolcpus=2-63,66-127 nohz_full=2-63,66-127 rcu_nocbs=2-63,66-127 sysrq_always_enabled Run test program 4 times without taskset tail -n 2 nohz-activate-log/notaskset.* ==> nohz-activate-log/notaskset.1 <== total 29986516050 nsec avg 299 nsec ==> nohz-activate-log/notaskset.2 <== total 29982386090 nsec avg 299 nsec ==> nohz-activate-log/notaskset.3 <== total 29976017400 nsec avg 299 nsec ==> nohz-activate-log/notaskset.4 <== total 29977079348 nsec avg 299 nsec Run test program 4 times with taskset to CPU 4 tail -n 2 nohz-activate-log/taskset.* ==> nohz-activate-log/taskset.1 <== total 40561421305 nsec avg 405 nsec ==> nohz-activate-log/taskset.2 <== total 40556501183 nsec avg 405 nsec ==> nohz-activate-log/taskset.3 <== total 40554876491 nsec avg 405 nsec ==> nohz-activate-log/taskset.4 <== total 40554776851 nsec avg 405 nsec Test case 4, with NO_HZ_FULL built-in, activate nohz_full in kernel cmdline, but run on non-activate CPU: Run test program on non-activate nohz_full CPU 64 tail -n 2 nohz-activate-off-log/* ==> nohz-activate-off-log/taskset.1 <== total 29980106645 nsec avg 299 nsec ==> nohz-activate-off-log/taskset.2 <== total 29982445376 nsec avg 299 nsec ==> nohz-activate-off-log/taskset.3 <== total 29973087899 nsec avg 299 nsec ==> nohz-activate-off-log/taskset.4 <== total 29982214675 nsec avg 299 nsec