[focal:linux][PATCH 0/1] LP:#1756311 -

Marcelo Henrique Cerri marcelo.cerri at canonical.com
Wed Apr 7 23:50:03 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1756311


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


---
Marcelo Henrique Cerri (1):
  UBUNTU: [Config] CONFIG_NO_HZ_FULL=y

 debian.master/config/amd64/config.common.amd64  |  1 +
 debian.master/config/annotations                | 17 +++++++++--------
 debian.master/config/arm64/config.common.arm64  |  1 +
 debian.master/config/armhf/config.common.armhf  |  1 +
 debian.master/config/config.common.ubuntu       |  9 ++++++---
 debian.master/config/i386/config.common.i386    |  1 +
 .../config/ppc64el/config.common.ppc64el        |  2 +-
 debian.master/config/s390x/config.common.s390x  |  2 +-
 8 files changed, 21 insertions(+), 13 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list