aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcu/tree_plugin.h')
-rw-r--r--kernel/rcu/tree_plugin.h31
1 files changed, 1 insertions, 30 deletions
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 7f5919ab24c4..43f2f8026b4a 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -70,7 +70,7 @@ static bool __read_mostly rcu_nocb_poll; /* Offload kthread are to poll. */
70static void __init rcu_bootup_announce_oddness(void) 70static void __init rcu_bootup_announce_oddness(void)
71{ 71{
72 if (IS_ENABLED(CONFIG_RCU_TRACE)) 72 if (IS_ENABLED(CONFIG_RCU_TRACE))
73 pr_info("\tRCU debugfs-based tracing is enabled.\n"); 73 pr_info("\tRCU event tracing is enabled.\n");
74 if ((IS_ENABLED(CONFIG_64BIT) && RCU_FANOUT != 64) || 74 if ((IS_ENABLED(CONFIG_64BIT) && RCU_FANOUT != 64) ||
75 (!IS_ENABLED(CONFIG_64BIT) && RCU_FANOUT != 32)) 75 (!IS_ENABLED(CONFIG_64BIT) && RCU_FANOUT != 32))
76 pr_info("\tCONFIG_RCU_FANOUT set to non-default value of %d\n", 76 pr_info("\tCONFIG_RCU_FANOUT set to non-default value of %d\n",
@@ -899,33 +899,6 @@ void exit_rcu(void)
899 899
900#include "../locking/rtmutex_common.h" 900#include "../locking/rtmutex_common.h"
901 901
902#ifdef CONFIG_RCU_TRACE
903
904static void rcu_initiate_boost_trace(struct rcu_node *rnp)
905{
906 if (!rcu_preempt_has_tasks(rnp))
907 rnp->n_balk_blkd_tasks++;
908 else if (rnp->exp_tasks == NULL && rnp->gp_tasks == NULL)
909 rnp->n_balk_exp_gp_tasks++;
910 else if (rnp->gp_tasks != NULL && rnp->boost_tasks != NULL)
911 rnp->n_balk_boost_tasks++;
912 else if (rnp->gp_tasks != NULL && rnp->qsmask != 0)
913 rnp->n_balk_notblocked++;
914 else if (rnp->gp_tasks != NULL &&
915 ULONG_CMP_LT(jiffies, rnp->boost_time))
916 rnp->n_balk_notyet++;
917 else
918 rnp->n_balk_nos++;
919}
920
921#else /* #ifdef CONFIG_RCU_TRACE */
922
923static void rcu_initiate_boost_trace(struct rcu_node *rnp)
924{
925}
926
927#endif /* #else #ifdef CONFIG_RCU_TRACE */
928
929static void rcu_wake_cond(struct task_struct *t, int status) 902static void rcu_wake_cond(struct task_struct *t, int status)
930{ 903{
931 /* 904 /*
@@ -1058,7 +1031,6 @@ static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags)
1058 1031
1059 lockdep_assert_held(&rnp->lock); 1032 lockdep_assert_held(&rnp->lock);
1060 if (!rcu_preempt_blocked_readers_cgp(rnp) && rnp->exp_tasks == NULL) { 1033 if (!rcu_preempt_blocked_readers_cgp(rnp) && rnp->exp_tasks == NULL) {
1061 rnp->n_balk_exp_gp_tasks++;
1062 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 1034 raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
1063 return; 1035 return;
1064 } 1036 }
@@ -1074,7 +1046,6 @@ static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags)
1074 if (t) 1046 if (t)
1075 rcu_wake_cond(t, rnp->boost_kthread_status); 1047 rcu_wake_cond(t, rnp->boost_kthread_status);
1076 } else { 1048 } else {
1077 rcu_initiate_boost_trace(rnp);
1078 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 1049 raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
1079 } 1050 }
1080} 1051}