ACK/Cmnt: [J/realtime][PATCH] UBUNTU: [Config] realtime: enable CONFIG_NO_HZ_FULL
Tim Gardner
tim.gardner at canonical.com
Fri Dec 17 12:44:50 UTC 2021
Acked-by: Tim Gardner <tim.gardner at canonical.com>
Do you really need to send patches on the list for development kernels ?
On 12/17/21 4:32 AM, Krzysztof Kozlowski wrote:
> The NO_HZ_FULL (selecting also RCU_NOCB_CPU, CONTEXT_TRACKING and
> VIRT_CPU_ACCOUNTING) is an option dedicated to realtime or high
> performance computing workloads. It allows to omit scheduling-clock
> ticks on CPUs that are either idle or that have only one runnable task.
>
> It is expected that a realtime workload will isolate CPUs for its
> realtime tasks (realtime application will run on dedicated CPUs), thus
> it matches the NO_HZ_FULL type of workload and should benefit from this
> setting.
>
> This setting still requires runtime configuration - choosing CPUs to be
> nohz idle (see: Documentation/timers/no_hz.rst).
>
> The setting was also requested by Intel FlexRAN engineers as it greatly
> improves their workload.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com>
> ---
> debian.realtime/config/config.common.ubuntu | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/debian.realtime/config/config.common.ubuntu b/debian.realtime/config/config.common.ubuntu
> index 7d1034ccfb26..f494c4d8f058 100644
> --- a/debian.realtime/config/config.common.ubuntu
> +++ b/debian.realtime/config/config.common.ubuntu
> @@ -1848,6 +1848,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_CORDIC=m
> CONFIG_COREDUMP=y
> @@ -6894,8 +6896,8 @@ CONFIG_NOUVEAU_PLATFORM_DRIVER=y
> CONFIG_NOZOMI=m
> 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_HZ_IDLE is not set
> CONFIG_NR_CPUS_DEFAULT=8192
> CONFIG_NR_CPUS_RANGE_BEGIN=8192
> CONFIG_NR_CPUS_RANGE_END=8192
> @@ -7977,6 +7979,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
> # 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_REF_SCALE_TEST is not set
> # CONFIG_RCU_SCALE_TEST is not set
> CONFIG_RCU_STALL_COMMON=y
> @@ -10451,7 +10454,6 @@ CONFIG_THUNDER_NIC_BGX=m
> CONFIG_THUNDER_NIC_PF=m
> CONFIG_THUNDER_NIC_RGX=m
> CONFIG_THUNDER_NIC_VF=m
> -CONFIG_TICK_CPU_ACCOUNTING=y
> CONFIG_TICK_ONESHOT=y
> CONFIG_TIFM_7XX1=m
> CONFIG_TIFM_CORE=m
> @@ -11633,7 +11635,8 @@ CONFIG_VIRTIO_VDPA=m
> CONFIG_VIRTIO_VSOCKETS=m
> CONFIG_VIRTIO_VSOCKETS_COMMON=m
> CONFIG_VIRTUALIZATION=y
> -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
> +CONFIG_VIRT_CPU_ACCOUNTING=y
> +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
> CONFIG_VIRT_DRIVERS=y
> CONFIG_VIRT_TO_BUS=y
> CONFIG_VIRT_WIFI=m
>
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list