Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Paul E. McKenney and committed by
Boqun Feng
176a6aea a73fc3dc

+14 -30
+1 -1
kernel/rcu/Kconfig
··· 82 82 def_bool HAVE_NMI && !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !TINY_SRCU 83 83 84 84 config TASKS_RCU_GENERIC 85 - def_bool TASKS_RCU || TASKS_RUDE_RCU || TASKS_TRACE_RCU 85 + def_bool TASKS_RCU || TASKS_RUDE_RCU 86 86 help 87 87 This option enables generic infrastructure code supporting 88 88 task-based RCU implementations. Not for manual selection.
+13 -29
kernel/rcu/tasks.h
··· 1439 1439 1440 1440 #endif /* #ifdef CONFIG_TASKS_RUDE_RCU */ 1441 1441 1442 - //////////////////////////////////////////////////////////////////////// 1443 - // 1444 - // Tracing variant of Tasks RCU. This variant is designed to be used 1445 - // to protect tracing hooks, including those of BPF. This variant 1446 - // is implemented via a straightforward mapping onto SRCU-fast. 1447 - 1448 - #ifdef CONFIG_TASKS_TRACE_RCU 1449 - 1450 - DEFINE_SRCU_FAST(rcu_tasks_trace_srcu_struct); 1451 - EXPORT_SYMBOL_GPL(rcu_tasks_trace_srcu_struct); 1452 - 1453 - // Placeholder to suppress build errors through transition period. 1454 - void __init rcu_tasks_trace_suppress_unused(void) 1455 - { 1456 - #ifndef CONFIG_TINY_RCU 1457 - show_rcu_tasks_generic_gp_kthread(NULL, NULL); 1458 - #endif // #ifndef CONFIG_TINY_RCU 1459 - rcu_spawn_tasks_kthread_generic(NULL); 1460 - synchronize_rcu_tasks_generic(NULL); 1461 - call_rcu_tasks_generic(NULL, NULL, NULL); 1462 - call_rcu_tasks_iw_wakeup(NULL); 1463 - cblist_init_generic(NULL); 1464 - #ifndef CONFIG_TINY_RCU 1465 - rcu_tasks_torture_stats_print_generic(NULL, NULL, NULL, NULL); 1466 - #endif // #ifndef CONFIG_TINY_RCU 1467 - } 1468 - 1469 - #endif /* #else #ifdef CONFIG_TASKS_TRACE_RCU */ 1470 - 1471 1442 #ifndef CONFIG_TINY_RCU 1472 1443 void show_rcu_tasks_gp_kthreads(void) 1473 1444 { ··· 1592 1621 #else /* #ifdef CONFIG_TASKS_RCU_GENERIC */ 1593 1622 static inline void rcu_tasks_bootup_oddness(void) {} 1594 1623 #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ 1624 + 1625 + #ifdef CONFIG_TASKS_TRACE_RCU 1626 + 1627 + //////////////////////////////////////////////////////////////////////// 1628 + // 1629 + // Tracing variant of Tasks RCU. This variant is designed to be used 1630 + // to protect tracing hooks, including those of BPF. This variant 1631 + // is implemented via a straightforward mapping onto SRCU-fast. 1632 + 1633 + DEFINE_SRCU_FAST(rcu_tasks_trace_srcu_struct); 1634 + EXPORT_SYMBOL_GPL(rcu_tasks_trace_srcu_struct); 1635 + 1636 + #endif /* #else #ifdef CONFIG_TASKS_TRACE_RCU */