mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
rcu: Move rcu_tasks_trace_srcu_struct out of #ifdef CONFIG_TASKS_RCU_GENERIC
Moving the rcu_tasks_trace_srcu_struct structure instance out from under the CONFIG_TASKS_RCU_GENERIC Kconfig option permits the CONFIG_TASKS_TRACE_RCU Kconfig option to stop enabling this CONFIG_TASKS_RCU_GENERIC Kconfig option. This commit also therefore makes it so. Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Cc: Andrii Nakryiko <andrii@kernel.org> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: bpf@vger.kernel.org Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
This commit is contained in:
parent
a73fc3dcc6
commit
176a6aeaf1
|
|
@ -82,7 +82,7 @@ config NEED_SRCU_NMI_SAFE
|
|||
def_bool HAVE_NMI && !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !TINY_SRCU
|
||||
|
||||
config TASKS_RCU_GENERIC
|
||||
def_bool TASKS_RCU || TASKS_RUDE_RCU || TASKS_TRACE_RCU
|
||||
def_bool TASKS_RCU || TASKS_RUDE_RCU
|
||||
help
|
||||
This option enables generic infrastructure code supporting
|
||||
task-based RCU implementations. Not for manual selection.
|
||||
|
|
|
|||
|
|
@ -1439,35 +1439,6 @@ EXPORT_SYMBOL_GPL(rcu_tasks_rude_get_gp_data);
|
|||
|
||||
#endif /* #ifdef CONFIG_TASKS_RUDE_RCU */
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Tracing variant of Tasks RCU. This variant is designed to be used
|
||||
// to protect tracing hooks, including those of BPF. This variant
|
||||
// is implemented via a straightforward mapping onto SRCU-fast.
|
||||
|
||||
#ifdef CONFIG_TASKS_TRACE_RCU
|
||||
|
||||
DEFINE_SRCU_FAST(rcu_tasks_trace_srcu_struct);
|
||||
EXPORT_SYMBOL_GPL(rcu_tasks_trace_srcu_struct);
|
||||
|
||||
// Placeholder to suppress build errors through transition period.
|
||||
void __init rcu_tasks_trace_suppress_unused(void)
|
||||
{
|
||||
#ifndef CONFIG_TINY_RCU
|
||||
show_rcu_tasks_generic_gp_kthread(NULL, NULL);
|
||||
#endif // #ifndef CONFIG_TINY_RCU
|
||||
rcu_spawn_tasks_kthread_generic(NULL);
|
||||
synchronize_rcu_tasks_generic(NULL);
|
||||
call_rcu_tasks_generic(NULL, NULL, NULL);
|
||||
call_rcu_tasks_iw_wakeup(NULL);
|
||||
cblist_init_generic(NULL);
|
||||
#ifndef CONFIG_TINY_RCU
|
||||
rcu_tasks_torture_stats_print_generic(NULL, NULL, NULL, NULL);
|
||||
#endif // #ifndef CONFIG_TINY_RCU
|
||||
}
|
||||
|
||||
#endif /* #else #ifdef CONFIG_TASKS_TRACE_RCU */
|
||||
|
||||
#ifndef CONFIG_TINY_RCU
|
||||
void show_rcu_tasks_gp_kthreads(void)
|
||||
{
|
||||
|
|
@ -1621,3 +1592,16 @@ core_initcall(rcu_init_tasks_generic);
|
|||
#else /* #ifdef CONFIG_TASKS_RCU_GENERIC */
|
||||
static inline void rcu_tasks_bootup_oddness(void) {}
|
||||
#endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */
|
||||
|
||||
#ifdef CONFIG_TASKS_TRACE_RCU
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Tracing variant of Tasks RCU. This variant is designed to be used
|
||||
// to protect tracing hooks, including those of BPF. This variant
|
||||
// is implemented via a straightforward mapping onto SRCU-fast.
|
||||
|
||||
DEFINE_SRCU_FAST(rcu_tasks_trace_srcu_struct);
|
||||
EXPORT_SYMBOL_GPL(rcu_tasks_trace_srcu_struct);
|
||||
|
||||
#endif /* #else #ifdef CONFIG_TASKS_TRACE_RCU */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user