srcu,notifier: Remove #ifdefs in favor of SRCU Tiny srcu_usage
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 16 Jun 2023 23:07:24 +0000 (16:07 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 16 Aug 2023 21:27:01 +0000 (14:27 -0700)
This commit removes two #ifdef directives from include/linux/notifier.h
by causing SRCU Tiny to provide a dummy srcu_usage structure and a dummy
__SRCU_USAGE_INIT() macro.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: Sachin Sant <sachinp@linux.ibm.com>
Cc: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
include/linux/notifier.h
include/linux/srcutiny.h

index 86544707236a6ed444edef0c3d51fd1e66d75cae..45702bdcbceb4aa5e42ad7e0fafd71eaf74be9a5 100644 (file)
@@ -73,9 +73,7 @@ struct raw_notifier_head {
 
 struct srcu_notifier_head {
        struct mutex mutex;
-#ifdef CONFIG_TREE_SRCU
        struct srcu_usage srcuu;
-#endif
        struct srcu_struct srcu;
        struct notifier_block __rcu *head;
 };
@@ -106,7 +104,6 @@ extern void srcu_init_notifier_head(struct srcu_notifier_head *nh);
 #define RAW_NOTIFIER_INIT(name)        {                               \
                .head = NULL }
 
-#ifdef CONFIG_TREE_SRCU
 #define SRCU_NOTIFIER_INIT(name, pcpu)                         \
        {                                                       \
                .mutex = __MUTEX_INITIALIZER(name.mutex),       \
@@ -114,14 +111,6 @@ extern void srcu_init_notifier_head(struct srcu_notifier_head *nh);
                .srcuu = __SRCU_USAGE_INIT(name.srcuu),         \
                .srcu = __SRCU_STRUCT_INIT(name.srcu, name.srcuu, pcpu), \
        }
-#else
-#define SRCU_NOTIFIER_INIT(name, pcpu)                         \
-       {                                                       \
-               .mutex = __MUTEX_INITIALIZER(name.mutex),       \
-               .head = NULL,                                   \
-               .srcu = __SRCU_STRUCT_INIT(name.srcu, name.srcuu, pcpu), \
-       }
-#endif
 
 #define ATOMIC_NOTIFIER_HEAD(name)                             \
        struct atomic_notifier_head name =                      \
index ebd72491af99246cae9287b2c8a27e40ccb4c540..447133171d95fd859e5a16afa8ab4cf6104c3dbd 100644 (file)
@@ -48,6 +48,10 @@ void srcu_drive_gp(struct work_struct *wp);
 #define DEFINE_STATIC_SRCU(name) \
        static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name)
 
+// Dummy structure for srcu_notifier_head.
+struct srcu_usage { };
+#define __SRCU_USAGE_INIT(name) { }
+
 void synchronize_srcu(struct srcu_struct *ssp);
 
 /*