diff options
Diffstat (limited to 'kernel/rcutree.h')
| -rw-r--r-- | kernel/rcutree.h | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/kernel/rcutree.h b/kernel/rcutree.h index 4df503470e4..b3832581043 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h @@ -343,12 +343,17 @@ struct rcu_data {  #define RCU_FORCE_QS		3	/* Need to force quiescent state. */  #define RCU_SIGNAL_INIT		RCU_SAVE_DYNTICK -#define RCU_JIFFIES_TILL_FORCE_QS	 3	/* for rsp->jiffies_force_qs */ +#define RCU_JIFFIES_TILL_FORCE_QS (1 + (HZ > 250) + (HZ > 500)) +					/* For jiffies_till_first_fqs and */ +					/*  and jiffies_till_next_fqs. */ -#define RCU_STALL_RAT_DELAY		2	/* Allow other CPUs time */ -						/*  to take at least one */ -						/*  scheduling clock irq */ -						/*  before ratting on them. */ +#define RCU_JIFFIES_FQS_DIV	256	/* Very large systems need more */ +					/*  delay between bouts of */ +					/*  quiescent-state forcing. */ + +#define RCU_STALL_RAT_DELAY	2	/* Allow other CPUs time to take */ +					/*  at least one scheduling clock */ +					/*  irq before ratting on them. */  #define rcu_wait(cond)							\  do {									\ @@ -516,10 +521,10 @@ static void invoke_rcu_callbacks_kthread(void);  static bool rcu_is_callbacks_kthread(void);  #ifdef CONFIG_RCU_BOOST  static void rcu_preempt_do_callbacks(void); -static int __cpuinit rcu_spawn_one_boost_kthread(struct rcu_state *rsp, +static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp,  						 struct rcu_node *rnp);  #endif /* #ifdef CONFIG_RCU_BOOST */ -static void __cpuinit rcu_prepare_kthreads(int cpu); +static void rcu_prepare_kthreads(int cpu);  static void rcu_cleanup_after_idle(int cpu);  static void rcu_prepare_for_idle(int cpu);  static void rcu_idle_count_callbacks_posted(void); | 
