Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 373d85e0 authored by Imran Khan's avatar Imran Khan
Browse files

defconfig: 8953: Move RCU callbacks processing to kernel threads



Under high load situations RCU callback processing adds a
significant workload to softirq. This may result in CPU
starvation for other time critical entities, waiting to run
in softirq context. This patch eanbles the kernel option
which allows to perform RCU callback processing in separate
kernel threads and thus reducing the softriq workload a lot.

Change-Id: I2f8baee5d315708c76d33490a4be1792fb3fb680
Signed-off-by: default avatarImran Khan <kimran@codeaurora.org>
parent 9f277664
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_ALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
+3 −0
Original line number Diff line number Diff line
@@ -3,6 +3,9 @@ CONFIG_AUDIT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_ALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_ALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
+2 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_ALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
+2 −1
Original line number Diff line number Diff line
@@ -1601,6 +1601,7 @@ module_param(rcu_idle_lazy_gp_delay, int, 0644);

extern int tick_nohz_active;

#ifndef CONFIG_RCU_NOCB_CPU_ALL
/*
 * Does the specified flavor of RCU have non-lazy callbacks pending on
 * the specified CPU?  Both RCU flavor and CPU are specified by the
@@ -1642,7 +1643,7 @@ static bool rcu_cpu_has_nonlazy_callbacks(int cpu)
	       __rcu_cpu_has_nonlazy_callbacks(&per_cpu(rcu_bh_data, cpu)) ||
	       rcu_preempt_cpu_has_nonlazy_callbacks(cpu);
}

#endif
/*
 * Allow the CPU to enter dyntick-idle mode if either: (1) There are no
 * callbacks on this CPU, (2) this CPU has not yet attempted to enter