|
@@ -33,11 +33,24 @@
|
|
#define RCU_KTHREAD_PRIO 1
|
|
#define RCU_KTHREAD_PRIO 1
|
|
|
|
|
|
#ifdef CONFIG_RCU_BOOST
|
|
#ifdef CONFIG_RCU_BOOST
|
|
|
|
+
|
|
#include "../locking/rtmutex_common.h"
|
|
#include "../locking/rtmutex_common.h"
|
|
#define RCU_BOOST_PRIO CONFIG_RCU_BOOST_PRIO
|
|
#define RCU_BOOST_PRIO CONFIG_RCU_BOOST_PRIO
|
|
-#else
|
|
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * Control variables for per-CPU and per-rcu_node kthreads. These
|
|
|
|
+ * handle all flavors of RCU.
|
|
|
|
+ */
|
|
|
|
+static DEFINE_PER_CPU(struct task_struct *, rcu_cpu_kthread_task);
|
|
|
|
+DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_status);
|
|
|
|
+DEFINE_PER_CPU(unsigned int, rcu_cpu_kthread_loops);
|
|
|
|
+DEFINE_PER_CPU(char, rcu_cpu_has_work);
|
|
|
|
+
|
|
|
|
+#else /* #ifdef CONFIG_RCU_BOOST */
|
|
|
|
+
|
|
#define RCU_BOOST_PRIO RCU_KTHREAD_PRIO
|
|
#define RCU_BOOST_PRIO RCU_KTHREAD_PRIO
|
|
-#endif
|
|
|
|
|
|
+
|
|
|
|
+#endif /* #else #ifdef CONFIG_RCU_BOOST */
|
|
|
|
|
|
#ifdef CONFIG_RCU_NOCB_CPU
|
|
#ifdef CONFIG_RCU_NOCB_CPU
|
|
static cpumask_var_t rcu_nocb_mask; /* CPUs to have callbacks offloaded. */
|
|
static cpumask_var_t rcu_nocb_mask; /* CPUs to have callbacks offloaded. */
|