Run some tests with Jammy hwe kernel (6.2.0) on AMD EPYC 7252 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 23703299350 nsec avg 237 nsec
==> log/notaskset.2 <== total 23738030187 nsec avg 237 nsec ==> log/notaskset.3 <== total 23777052540 nsec avg 237 nsec ==> log/notaskset.4 <== total 23773975186 nsec avg 237 nsec Run test program 4 times with taskset to CPU 4 tail -n 2 log/taskset.* ==> log/taskset.1 <== total 23817956038 nsec avg 238 nsec ==> log/taskset.2 <== total 23734814153 nsec avg 237 nsec ==> log/taskset.3 <== total 23708314067 nsec avg 237 nsec ==> log/taskset.4 <== total 23776322738 nsec avg 237 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 24664321060 nsec avg 246 nsec ==> nohz-log/notaskset.2 <== total 24644369258 nsec avg 246 nsec ==> nohz-log/notaskset.3 <== total 24717800210 nsec avg 247 nsec ==> nohz-log/notaskset.4 <== total 24843361108 nsec avg 248 nsec Run test program 4 times with taskset to CPU 4 tail -n 2 nohz-log/taskset.* ==> nohz-log/taskset.1 <== total 24644004125 nsec avg 246 nsec ==> nohz-log/taskset.2 <== total 24864693785 nsec avg 248 nsec ==> nohz-log/taskset.3 <== total 24745717217 nsec avg 247 nsec ==> nohz-log/taskset.4 <== total 24778959889 nsec avg 247 nsec -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1919154 Title: Enable CONFIG_NO_HZ_FULL on supported architectures Status in linux package in Ubuntu: In Progress Status in linux source package in Focal: In Progress Status in linux source package in Groovy: Won't Fix Status in linux source package in Hirsute: In Progress Status in linux source package in Jammy: In Progress Status in linux source package in Lunar: In Progress Status in linux source package in Mantic: In Progress Bug description: [Impact] The CONFIG_NO_HZ_FULL=y Kconfig option causes the kernel to avoid sending scheduling-clock interrupts to CPUs with a single runnable task, and such CPUs are said to be "adaptive-ticks CPUs". This is important for applications with aggressive real-time response constraints because it allows them to improve their worst-case response times by the maximum duration of a scheduling-clock interrupt. It is also important for computationally intensive short-iteration workloads: If any CPU is delayed during a given iteration, all the other CPUs will be forced to wait idle while the delayed CPU finishes. Thus, the delay is multiplied by one less than the number of CPUs. In these situations, there is again strong motivation to avoid sending scheduling-clock interrupts. [Test Plan] In order to verify the change will not cause performance issues in context switch we should compare the results for: ./stress-ng --seq 0 --metrics-brief -t 15 Running on a dedicated machine and with the following services disabled: smartd.service, iscsid.service, apport.service, cron.service, anacron.timer, apt-daily.timer, apt-daily-upgrade.timer, fstrim.timer, logrotate.timer, motd-news.timer, man-db.timer. The results didn't show any performance regression: https://kernel.ubuntu.com/~mhcerri/lp1919154/ [Where problems could occur] Performance degradation might happen for workloads with intensive context switching. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1919154/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp