Skip to contentSkip to conversation

rcu: enable rcu_normal_after_boot by default for RT

DISCUSSION Paul E. McKenney 2 participants 3 messages Nov 1, 2018 – Nov 8, 2018

lore
Share & tools
lore

Paul E. McKenney

author Acked-by
#0 lore raw
Quoted 10 lines

The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running tasks on CPUs which are preventing the gp from expiring.

By default, as a policy decision, disable the expediting of grace periods (after boot) on configurations which enable PREEMPT_RT_FULL.

In case it matters:

Alternatively, any reason that I should not pull this into -rcu?

Thanx, Paul

Quoted 13 lines
kernel/rcu/update.c +1 -1
index f56c0fbdf22e..12027723abaf 100644
@@ -67,7 +67,7 @@ extern int rcu_expedited; /* from sysctl */
 module_param(rcu_expedited, int, 0);
 extern int rcu_normal; /* from sysctl */
 module_param(rcu_normal, int, 0);
-static int rcu_normal_after_boot;
+static int rcu_normal_after_boot = IS_ENABLED(CONFIG_PREEMPT_RT_FULL);
 module_param(rcu_normal_after_boot, int, 0);
 #endif /* #ifndef CONFIG_TINY_RCU */
 
#1 lore raw
Quoted 11 lines · Paul E. McKenney
Quoted 10 lines

The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running tasks on CPUs which are preventing the gp from expiring.

By default, as a policy decision, disable the expediting of grace periods (after boot) on configurations which enable PREEMPT_RT_FULL.

Quoted 5 lines

In case it matters:

Alternatively, any reason that I should not pull this into -rcu?

because we don't have CONFIG_PREEMPT_RT_FULL yet.

Quoted 1 line

Thanx, Paul

Sebastian

#2 lore raw
Quoted 12 lines · Sebastian Andrzej Siewior
Quoted 11 lines · Paul E. McKenney
Quoted 10 lines

The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running tasks on CPUs which are preventing the gp from expiring.

By default, as a policy decision, disable the expediting of grace periods (after boot) on configurations which enable PREEMPT_RT_FULL.

Quoted 7 lines
Quoted 5 lines

In case it matters:

Alternatively, any reason that I should not pull this into -rcu?

because we don't have CONFIG_PREEMPT_RT_FULL yet.

Fair enough. This particular case works without CONFIG_PREEMPT_RT_FULL defined, but up to you guys.

Thanx, Paul