rcu: Teach RCU that idle task is not quiscent state at boot
[deliverable/linux.git] / include / linux / rcupdate.h
index 1168fbcea8d4bc6a42d4abccf5b05e47266aa418..528343e6da51a7c19cda8797c55cd6640612cb58 100644 (file)
@@ -52,6 +52,9 @@ struct rcu_head {
        void (*func)(struct rcu_head *head);
 };
 
+/* Internal to kernel, but needed by rcupreempt.h. */
+extern int rcu_scheduler_active;
+
 #if defined(CONFIG_CLASSIC_RCU)
 #include <linux/rcuclassic.h>
 #elif defined(CONFIG_TREE_RCU)
@@ -204,18 +207,6 @@ struct rcu_synchronize {
 
 extern void wakeme_after_rcu(struct rcu_head  *head);
 
-#define synchronize_rcu_xxx(name, func) \
-void name(void) \
-{ \
-       struct rcu_synchronize rcu; \
-       \
-       init_completion(&rcu.completion); \
-       /* Will wake me after RCU finished. */ \
-       func(&rcu.head, wakeme_after_rcu); \
-       /* Wait for it. */ \
-       wait_for_completion(&rcu.completion); \
-}
-
 /**
  * synchronize_sched - block until all CPUs have exited any non-preemptive
  * kernel code sequences.
@@ -277,6 +268,7 @@ extern void rcu_barrier_sched(void);
 
 /* Internal to kernel */
 extern void rcu_init(void);
+extern void rcu_scheduler_starting(void);
 extern int rcu_needs_cpu(int cpu);
 
 #endif /* __LINUX_RCUPDATE_H */
This page took 0.026172 seconds and 5 git commands to generate.