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

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -309,7 +309,7 @@ static inline void rcu_sysrq_end(void)
}
#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_exit(void);
#else
@@ -317,7 +317,7 @@ static inline void rcu_user_enter(void) { }
static inline void rcu_user_exit(void) { }
static inline void rcu_user_hooks_switch(struct task_struct *prev,
					 struct task_struct *next) { }
#endif /* CONFIG_RCU_USER_QS */
#endif /* CONFIG_NO_HZ_FULL */

#ifdef CONFIG_RCU_NOCB_CPU
void rcu_init_nohz(void);
+0 −9
Original line number Diff line number Diff line
@@ -538,15 +538,6 @@ config RCU_STALL_COMMON
config CONTEXT_TRACKING
       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
	bool "Force context tracking"
	depends on CONTEXT_TRACKING
+4 −4
Original line number Diff line number Diff line
@@ -701,7 +701,7 @@ void rcu_idle_enter(void)
}
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.
 *
@@ -714,7 +714,7 @@ void rcu_user_enter(void)
{
	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
@@ -828,7 +828,7 @@ void rcu_idle_exit(void)
}
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.
 *
@@ -839,7 +839,7 @@ void rcu_user_exit(void)
{
	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
+0 −2
Original line number Diff line number Diff line
@@ -92,12 +92,10 @@ config NO_HZ_FULL
	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
	# We need at least one periodic CPU for timekeeping
	depends on SMP
	# RCU_USER_QS dependency
	depends on HAVE_CONTEXT_TRACKING
	# VIRT_CPU_ACCOUNTING_GEN dependency
	depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
	select NO_HZ_COMMON
	select RCU_USER_QS
	select RCU_NOCB_CPU
	select VIRT_CPU_ACCOUNTING_GEN
	select IRQ_WORK