#endif
};
+struct rcu_node;
+
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
void *stack;
unsigned int policy;
cpumask_t cpus_allowed;
-#ifdef CONFIG_PREEMPT_RCU
- int rcu_read_lock_nesting;
- int rcu_flipctr_idx;
-#endif /* #ifdef CONFIG_PREEMPT_RCU */
-
#ifdef CONFIG_TREE_PREEMPT_RCU
int rcu_read_lock_nesting;
char rcu_read_unlock_special;
- int rcu_blocked_cpu;
+ struct rcu_node *rcu_blocked_node;
struct list_head rcu_node_entry;
#endif /* #ifdef CONFIG_TREE_PREEMPT_RCU */
{
p->rcu_read_lock_nesting = 0;
p->rcu_read_unlock_special = 0;
- p->rcu_blocked_cpu = -1;
+ p->rcu_blocked_node = NULL;
INIT_LIST_HEAD(&p->rcu_node_entry);
}
-#elif defined(CONFIG_PREEMPT_RCU)
-
-static inline void rcu_copy_process(struct task_struct *p)
-{
- p->rcu_read_lock_nesting = 0;
- p->rcu_flipctr_idx = 0;
-}
-
#else
static inline void rcu_copy_process(struct task_struct *p)