xref: /linux-6.15/include/linux/rcu_notifier.h (revision 4e58aaee)
15b404fdaSPaul E. McKenney /* SPDX-License-Identifier: GPL-2.0+ */
25b404fdaSPaul E. McKenney /*
35b404fdaSPaul E. McKenney  * Read-Copy Update notifiers, initially RCU CPU stall notifier.
45b404fdaSPaul E. McKenney  * Separate from rcupdate.h to avoid #include loops.
55b404fdaSPaul E. McKenney  *
65b404fdaSPaul E. McKenney  * Copyright (C) 2023 Paul E. McKenney.
75b404fdaSPaul E. McKenney  */
85b404fdaSPaul E. McKenney 
95b404fdaSPaul E. McKenney #ifndef __LINUX_RCU_NOTIFIER_H
105b404fdaSPaul E. McKenney #define __LINUX_RCU_NOTIFIER_H
115b404fdaSPaul E. McKenney 
125b404fdaSPaul E. McKenney // Actions for RCU CPU stall notifier calls.
135b404fdaSPaul E. McKenney #define RCU_STALL_NOTIFY_NORM	1
145b404fdaSPaul E. McKenney #define RCU_STALL_NOTIFY_EXP	2
155b404fdaSPaul E. McKenney 
16*4e58aaeeSPaul E. McKenney #if defined(CONFIG_RCU_STALL_COMMON) && defined(CONFIG_RCU_CPU_STALL_NOTIFIER)
175b404fdaSPaul E. McKenney 
185b404fdaSPaul E. McKenney #include <linux/notifier.h>
195b404fdaSPaul E. McKenney #include <linux/types.h>
205b404fdaSPaul E. McKenney 
215b404fdaSPaul E. McKenney int rcu_stall_chain_notifier_register(struct notifier_block *n);
225b404fdaSPaul E. McKenney int rcu_stall_chain_notifier_unregister(struct notifier_block *n);
235b404fdaSPaul E. McKenney 
24*4e58aaeeSPaul E. McKenney #else // #if defined(CONFIG_RCU_STALL_COMMON) && defined(CONFIG_RCU_CPU_STALL_NOTIFIER)
255b404fdaSPaul E. McKenney 
265b404fdaSPaul E. McKenney // No RCU CPU stall warnings in Tiny RCU.
rcu_stall_chain_notifier_register(struct notifier_block * n)275b404fdaSPaul E. McKenney static inline int rcu_stall_chain_notifier_register(struct notifier_block *n) { return -EEXIST; }
rcu_stall_chain_notifier_unregister(struct notifier_block * n)285b404fdaSPaul E. McKenney static inline int rcu_stall_chain_notifier_unregister(struct notifier_block *n) { return -ENOENT; }
295b404fdaSPaul E. McKenney 
30*4e58aaeeSPaul E. McKenney #endif // #else // #if defined(CONFIG_RCU_STALL_COMMON) && defined(CONFIG_RCU_CPU_STALL_NOTIFIER)
315b404fdaSPaul E. McKenney 
325b404fdaSPaul E. McKenney #endif /* __LINUX_RCU_NOTIFIER_H */
33