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

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Thu Apr 8 01:34:35 UTC 2021


On Wed, Apr 07, 2021 at 08:50:03PM -0300, Marcelo Henrique Cerri wrote:
> 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.
> 

RCU has lots of ifdefs on NO_HZ_FULL, which imply risks. And CPU accounting, as
noted in the many changes in these patchsets, is also dependent on NO_HZ_FULL
being enabled or not, so there are risks there too. That
CONFIG_CONTEXT_TRACKING_FORCE is off and enforced at least gives some relief.

Why not enable this option on lowlatency, and have users that are requesting
this option to use it?

Cascardo.

> 
> ---
> 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
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list