Bug 1348715

Summary: turn CONFIG_RCU_NOCB_CPU_ALL=y off [mrg]
Product: Red Hat Enterprise MRG Reporter: Beth Uptagrafft <bhu>
Component: realtime-kernelAssignee: Luis Claudio R. Goncalves <lgoncalv>
Status: CLOSED CURRENTRELEASE QA Contact: Jiri Kastner <jkastner>
Severity: high Docs Contact:
Priority: medium    
Version: 2.5CC: bhu, daolivei, jkastner, jshortt, lgoncalv, williams
Target Milestone: 2.5.27   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1344077 Environment:
Last Closed: 2017-01-25 21:06:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1344077    
Bug Blocks:    

Description Beth Uptagrafft 2016-06-21 20:41:38 UTC
+++ This bug was initially created as a clone of Bug #1344077 +++

Description of problem:

Although rcu no callbacks is useful for the majority of -rt workloads. There are cases where this feature can cause bad impact in the -rt performance.

For example, if the rcuc/ thread needs to wake up many offload threads, for instance in a large box with dozens CPUs, this can cause an interface that can be higher than the 150 microseconds we guarantee in the -rt products.

As we can enable the rcu no callbacks via kernel command line, we still can have the same behavior of CONFIG_RCU_NOCB_CPU_ALL=y by using the rcu_nocbs=<allcpus>. So it is safe to turn it off. In fact, this gives us more flexibility than have all CPUs rcu_nocbs by default

Comment 1 Clark Williams 2016-06-22 14:18:56 UTC
This change in kernel-rt-3.10.0-439.rt56.327.el7

Comment 8 Daniel Bristot de Oliveira 2017-01-25 15:51:57 UTC
RHEL-RT 7.3 disables CONFIG_RCU_NOCB_CPU_ALL=y. The MRG RT kernel inherited this config in the MRG-RT kernel based on RHEL-RT 7.3-zstream #2.

The current MRG-RT kernel config is:

CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_NONE=y
# CONFIG_RCU_NOCB_CPU_ZERO is not set
# CONFIG_RCU_NOCB_CPU_ALL is not set

The fix was released with the following ERRATA:

https://errata.devel.redhat.com/advisory/25966

Comment 9 Beth Uptagrafft 2017-01-25 21:06:35 UTC
A release has been made for this BZ, so I am closing it currentrelease.