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