Commit d1ec4c34 authored by Paul E. McKenney's avatar Paul E. McKenney

rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL

The RCU_USER_QS Kconfig parameter is now just a synonym for NO_HZ_FULL,
so this commit eliminates RCU_USER_QS, replacing all uses with NO_HZ_FULL.
Reported-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
parent d770e558
...@@ -309,7 +309,7 @@ static inline void rcu_sysrq_end(void) ...@@ -309,7 +309,7 @@ static inline void rcu_sysrq_end(void)
} }
#endif /* #else #ifdef CONFIG_RCU_STALL_COMMON */ #endif /* #else #ifdef CONFIG_RCU_STALL_COMMON */
#ifdef CONFIG_RCU_USER_QS #ifdef CONFIG_NO_HZ_FULL
void rcu_user_enter(void); void rcu_user_enter(void);
void rcu_user_exit(void); void rcu_user_exit(void);
#else #else
...@@ -317,7 +317,7 @@ static inline void rcu_user_enter(void) { } ...@@ -317,7 +317,7 @@ static inline void rcu_user_enter(void) { }
static inline void rcu_user_exit(void) { } static inline void rcu_user_exit(void) { }
static inline void rcu_user_hooks_switch(struct task_struct *prev, static inline void rcu_user_hooks_switch(struct task_struct *prev,
struct task_struct *next) { } struct task_struct *next) { }
#endif /* CONFIG_RCU_USER_QS */ #endif /* CONFIG_NO_HZ_FULL */
#ifdef CONFIG_RCU_NOCB_CPU #ifdef CONFIG_RCU_NOCB_CPU
void rcu_init_nohz(void); void rcu_init_nohz(void);
......
...@@ -538,15 +538,6 @@ config RCU_STALL_COMMON ...@@ -538,15 +538,6 @@ config RCU_STALL_COMMON
config CONTEXT_TRACKING config CONTEXT_TRACKING
bool bool
config RCU_USER_QS
bool
help
This option sets hooks on kernel / userspace boundaries and
puts RCU in extended quiescent state when the CPU runs in
userspace. It means that when a CPU runs in userspace, it is
excluded from the global RCU state machine and thus doesn't
try to keep the timer tick on for RCU.
config CONTEXT_TRACKING_FORCE config CONTEXT_TRACKING_FORCE
bool "Force context tracking" bool "Force context tracking"
depends on CONTEXT_TRACKING depends on CONTEXT_TRACKING
......
...@@ -701,7 +701,7 @@ void rcu_idle_enter(void) ...@@ -701,7 +701,7 @@ void rcu_idle_enter(void)
} }
EXPORT_SYMBOL_GPL(rcu_idle_enter); EXPORT_SYMBOL_GPL(rcu_idle_enter);
#ifdef CONFIG_RCU_USER_QS #ifdef CONFIG_NO_HZ_FULL
/** /**
* rcu_user_enter - inform RCU that we are resuming userspace. * rcu_user_enter - inform RCU that we are resuming userspace.
* *
...@@ -714,7 +714,7 @@ void rcu_user_enter(void) ...@@ -714,7 +714,7 @@ void rcu_user_enter(void)
{ {
rcu_eqs_enter(1); rcu_eqs_enter(1);
} }
#endif /* CONFIG_RCU_USER_QS */ #endif /* CONFIG_NO_HZ_FULL */
/** /**
* rcu_irq_exit - inform RCU that current CPU is exiting irq towards idle * rcu_irq_exit - inform RCU that current CPU is exiting irq towards idle
...@@ -828,7 +828,7 @@ void rcu_idle_exit(void) ...@@ -828,7 +828,7 @@ void rcu_idle_exit(void)
} }
EXPORT_SYMBOL_GPL(rcu_idle_exit); EXPORT_SYMBOL_GPL(rcu_idle_exit);
#ifdef CONFIG_RCU_USER_QS #ifdef CONFIG_NO_HZ_FULL
/** /**
* rcu_user_exit - inform RCU that we are exiting userspace. * rcu_user_exit - inform RCU that we are exiting userspace.
* *
...@@ -839,7 +839,7 @@ void rcu_user_exit(void) ...@@ -839,7 +839,7 @@ void rcu_user_exit(void)
{ {
rcu_eqs_exit(1); rcu_eqs_exit(1);
} }
#endif /* CONFIG_RCU_USER_QS */ #endif /* CONFIG_NO_HZ_FULL */
/** /**
* rcu_irq_enter - inform RCU that current CPU is entering irq away from idle * rcu_irq_enter - inform RCU that current CPU is entering irq away from idle
......
...@@ -92,12 +92,10 @@ config NO_HZ_FULL ...@@ -92,12 +92,10 @@ config NO_HZ_FULL
depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
# We need at least one periodic CPU for timekeeping # We need at least one periodic CPU for timekeeping
depends on SMP depends on SMP
# RCU_USER_QS dependency
depends on HAVE_CONTEXT_TRACKING depends on HAVE_CONTEXT_TRACKING
# VIRT_CPU_ACCOUNTING_GEN dependency # VIRT_CPU_ACCOUNTING_GEN dependency
depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
select NO_HZ_COMMON select NO_HZ_COMMON
select RCU_USER_QS
select RCU_NOCB_CPU select RCU_NOCB_CPU
select VIRT_CPU_ACCOUNTING_GEN select VIRT_CPU_ACCOUNTING_GEN
select IRQ_WORK select IRQ_WORK
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment