[focal:linux][PATCH 1/1] UBUNTU: [Config] CONFIG_NO_HZ_FULL=y

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


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

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 and for computationally intensive short-iteration
workloads.

By default, no CPU will be an adaptive-ticks CPU.  The "nohz_full="
boot parameter specifies the adaptive-ticks CPUs.

Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri at canonical.com>
---
 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(-)

diff --git a/debian.master/config/amd64/config.common.amd64 b/debian.master/config/amd64/config.common.amd64
index 1552cbdd1795..8a97210db673 100644
--- a/debian.master/config/amd64/config.common.amd64
+++ b/debian.master/config/amd64/config.common.amd64
@@ -411,6 +411,7 @@ CONFIG_NFP=m
 CONFIG_NODES_SHIFT=10
 CONFIG_NOP_USB_XCEIV=m
 CONFIG_NOZOMI=m
+# CONFIG_NO_HZ_IDLE is not set
 CONFIG_NR_CPUS=8192
 CONFIG_NR_CPUS_DEFAULT=8192
 CONFIG_NR_CPUS_RANGE_BEGIN=8192
diff --git a/debian.master/config/annotations b/debian.master/config/annotations
index decbd099b916..2e476cd6683e 100644
--- a/debian.master/config/annotations
+++ b/debian.master/config/annotations
@@ -2812,7 +2812,7 @@ CONFIG_IOMMU_IO_PGTABLE_ARMV7S                  policy<{'arm64': 'n', 'armhf': '
 
 # Menu: Device Drivers >> IOMMU Hardware Support >> Support for Intel IOMMU using DMA Remapping Devices
 CONFIG_INTEL_IOMMU                              policy<{'amd64': 'y', 'i386': 'y'}>
-CONFIG_INTEL_IOMMU_SVM                          policy<{'amd64': 'y', 'i386': 'y'}>
+CONFIG_INTEL_IOMMU_SVM                          policy<{'amd64': 'y', 'i386': '-'}>
 CONFIG_INTEL_IOMMU_DEFAULT_ON                   policy<{'amd64': 'n', 'i386': 'n'}>
 #
 CONFIG_INTEL_IOMMU_DEFAULT_ON                   note<the IOMMU can trigger boot failures> flag<REVIEW>
@@ -10324,9 +10324,9 @@ CONFIG_PSI_DEFAULT_DISABLED                     policy<{'amd64': 'n', 'arm64': '
 CONFIG_PSI_DEFAULT_DISABLED                     mark<ENFORCED> note<LP: #1876044>
 
 # Menu: General setup >> CPU/Task time and stats accounting >> Cputime accounting
-CONFIG_TICK_CPU_ACCOUNTING                      policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y', }>
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE               policy<{'ppc64el': 'n', 's390x': 'y'}>
-CONFIG_VIRT_CPU_ACCOUNTING_GEN                  policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}>
+CONFIG_TICK_CPU_ACCOUNTING                      policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'i386': 'y', 'ppc64el': '-', }>
+CONFIG_VIRT_CPU_ACCOUNTING_NATIVE               policy<{'ppc64el': '-', 's390x': 'y'}>
+CONFIG_VIRT_CPU_ACCOUNTING_GEN                  policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}>
 
 # Menu: General setup >> Choose SLAB allocator
 CONFIG_SLAB                                     policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'i386': 'n', 'ppc64el': 'n', 's390x': 'n'}>
@@ -10462,17 +10462,18 @@ CONFIG_UCLAMP_TASK                              flag<REVIEW>
 
 # Menu: General setup >> Timers subsystem
 CONFIG_NO_HZ                                    policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y', 's390x': 'y'}>
-CONFIG_CONTEXT_TRACKING_FORCE                   policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'i386': '-', 'ppc64el': '-', 's390x': '-'}>
+CONFIG_CONTEXT_TRACKING_FORCE                   policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'i386': '-', 'ppc64el': 'n', 's390x': '-'}>
 CONFIG_HIGH_RES_TIMERS                          policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y', 's390x': 'y'}>
 #
 CONFIG_CONTEXT_TRACKING_FORCE                   note<LP:1349028> mark<ENFORCED>
 
 # Menu: General setup >> Timers subsystem >> Timer tick handling
 CONFIG_HZ_PERIODIC                              policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'i386': 'n', 'ppc64el': 'n', 's390x': 'n'}>
-CONFIG_NO_HZ_IDLE                               policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y', 's390x': 'y'}>
-CONFIG_NO_HZ_FULL                               policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}>
+CONFIG_NO_HZ_IDLE                               policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'i386': 'y', 'ppc64el': 'n', 's390x': 'y'}>
+CONFIG_NO_HZ_FULL                               policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}>
 #
-CONFIG_NO_HZ_IDLE                               note<LP:1413968>
+CONFIG_NO_HZ_IDLE                               mark<ENFORCED> note<LP:> note<old: LP:1413968>
+CONFIG_NO_HZ_FULL                               mark<ENFORCED> note<LP:>
 
 # Menu: I/O subsystem >> Architecture: s390
 CONFIG_QDIO                                     policy<{'s390x': 'm'}>
diff --git a/debian.master/config/arm64/config.common.arm64 b/debian.master/config/arm64/config.common.arm64
index b82717501339..2bfacd1f01bd 100644
--- a/debian.master/config/arm64/config.common.arm64
+++ b/debian.master/config/arm64/config.common.arm64
@@ -430,6 +430,7 @@ CONFIG_NFP=m
 CONFIG_NODES_SHIFT=6
 CONFIG_NOP_USB_XCEIV=m
 CONFIG_NOZOMI=m
+# CONFIG_NO_HZ_IDLE is not set
 CONFIG_NR_CPUS=256
 CONFIG_NTB=m
 # CONFIG_NTFS_RW is not set
diff --git a/debian.master/config/armhf/config.common.armhf b/debian.master/config/armhf/config.common.armhf
index a9f3b2f5f712..bdf579ccaadd 100644
--- a/debian.master/config/armhf/config.common.armhf
+++ b/debian.master/config/armhf/config.common.armhf
@@ -412,6 +412,7 @@ CONFIG_NFC=m
 CONFIG_NFP=m
 CONFIG_NOP_USB_XCEIV=y
 CONFIG_NOZOMI=m
+# CONFIG_NO_HZ_IDLE is not set
 CONFIG_NR_CPUS=4
 CONFIG_NTB=m
 # CONFIG_NTFS_RW is not set
diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
index 8bb2d865246b..b717cf431947 100644
--- a/debian.master/config/config.common.ubuntu
+++ b/debian.master/config/config.common.ubuntu
@@ -1883,6 +1883,8 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_CONSOLE_POLL=y
 CONFIG_CONSOLE_TRANSLATIONS=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_CONTEXT_TRACKING=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
 CONFIG_CONTIG_ALLOC=y
 CONFIG_COPS=m
 CONFIG_COPS_DAYNA=y
@@ -6673,8 +6675,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3
 CONFIG_NOUVEAU_PLATFORM_DRIVER=y
 CONFIG_NO_HZ=y
 CONFIG_NO_HZ_COMMON=y
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
 CONFIG_NO_IOPORT_MAP=y
 CONFIG_NPCM7XX_KCS_IPMI_BMC=m
 CONFIG_NPCM7XX_TIMER=y
@@ -7813,6 +7814,7 @@ CONFIG_RCAR_THERMAL=m
 # CONFIG_RCU_EQS_DEBUG is not set
 # CONFIG_RCU_EXPERT is not set
 CONFIG_RCU_NEED_SEGCBLIST=y
+CONFIG_RCU_NOCB_CPU=y
 CONFIG_RCU_PERF_TEST=m
 CONFIG_RCU_STALL_COMMON=y
 # CONFIG_RCU_TORTURE_TEST is not set
@@ -11242,7 +11244,8 @@ CONFIG_VIRTIO_VSOCKETS=m
 CONFIG_VIRTIO_VSOCKETS_COMMON=m
 CONFIG_VIRTUALIZATION=y
 CONFIG_VIRT_CPU_ACCOUNTING=y
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VIRT_TO_BUS=y
 CONFIG_VIRT_WIFI=m
diff --git a/debian.master/config/i386/config.common.i386 b/debian.master/config/i386/config.common.i386
index cca1feaaedb2..80e92e951d2f 100644
--- a/debian.master/config/i386/config.common.i386
+++ b/debian.master/config/i386/config.common.i386
@@ -404,6 +404,7 @@ CONFIG_NFC=m
 CONFIG_NFP=m
 CONFIG_NOP_USB_XCEIV=m
 CONFIG_NOZOMI=m
+CONFIG_NO_HZ_IDLE=y
 CONFIG_NR_CPUS=8
 CONFIG_NR_CPUS_DEFAULT=8
 CONFIG_NR_CPUS_RANGE_BEGIN=2
diff --git a/debian.master/config/ppc64el/config.common.ppc64el b/debian.master/config/ppc64el/config.common.ppc64el
index 146290967a00..16d0c44f4401 100644
--- a/debian.master/config/ppc64el/config.common.ppc64el
+++ b/debian.master/config/ppc64el/config.common.ppc64el
@@ -414,6 +414,7 @@ CONFIG_NFP=m
 CONFIG_NODES_SHIFT=8
 CONFIG_NOP_USB_XCEIV=m
 CONFIG_NOZOMI=m
+# CONFIG_NO_HZ_IDLE is not set
 CONFIG_NR_CPUS=2048
 CONFIG_NTB=m
 # CONFIG_NTFS_RW is not set
@@ -615,7 +616,6 @@ CONFIG_VFIO=y
 CONFIG_VFIO_PCI=y
 CONFIG_VFIO_VIRQFD=y
 CONFIG_VIRTIO_MMIO=y
-# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
 CONFIG_VME_BUS=y
 # CONFIG_VOP_BUS is not set
 CONFIG_VXFS_FS=m
diff --git a/debian.master/config/s390x/config.common.s390x b/debian.master/config/s390x/config.common.s390x
index 29974a878ef7..aa427ea333a1 100644
--- a/debian.master/config/s390x/config.common.s390x
+++ b/debian.master/config/s390x/config.common.s390x
@@ -384,6 +384,7 @@ CONFIG_MFD_CORE=m
 # CONFIG_NFP is not set
 CONFIG_NODES_SHIFT=4
 # CONFIG_NOZOMI is not set
+CONFIG_NO_HZ_IDLE=y
 CONFIG_NR_CPUS=512
 # CONFIG_NTB is not set
 CONFIG_NTFS_RW=y
@@ -551,7 +552,6 @@ CONFIG_VFIO_IOMMU_TYPE1=m
 CONFIG_VFIO_PCI=m
 CONFIG_VFIO_VIRQFD=m
 # CONFIG_VIRTIO_MMIO is not set
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
 # CONFIG_VME_BUS is not set
 # CONFIG_VMXNET3 is not set
 # CONFIG_VOP_BUS is not set
-- 
2.25.1




More information about the kernel-team mailing list