History

Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull RCU fixes from Ingo Molnar: "Two RCU fixes: - work around bug with recent GCC versions. - fix false positive lockdep splat" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex rcu: Change _wait_rcu_gp() to work around GCC bug 67055

Linus Torvalds committed 11 years ago

Commit 70c8a002 parents b9a5322 7c4f1c62 files · +10 −6Browse files

Showing the changes to kernel (1 of 2 files). Show all

Unified · Split

kernel/rcu/tree.c+5−0
@@ -3868,6 +3868,7 @@ static void rcu_init_new_rnp(struct rcu_node *rnp_leaf) · 3867 unmodified lines
3868static void __init3868static void __init
3869rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp)3869rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp)
3870{3870{
3871 static struct lock_class_key rcu_exp_sched_rdp_class;
3871 unsigned long flags;3872 unsigned long flags;
3872 struct rcu_data *rdp = per_cpu_ptr(rsp->rda, cpu);3873 struct rcu_data *rdp = per_cpu_ptr(rsp->rda, cpu);
3873 struct rcu_node *rnp = rcu_get_root(rsp);3874 struct rcu_node *rnp = rcu_get_root(rsp);
@@ -3883,6 +3884,10 @@ rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp) · 9 unmodified lines
3883 mutex_init(&rdp->exp_funnel_mutex);3884 mutex_init(&rdp->exp_funnel_mutex);
3884 rcu_boot_init_nocb_percpu_data(rdp);3885 rcu_boot_init_nocb_percpu_data(rdp);
3885 raw_spin_unlock_irqrestore(&rnp->lock, flags);3886 raw_spin_unlock_irqrestore(&rnp->lock, flags);
3887 if (rsp == &rcu_sched_state)
3888 lockdep_set_class_and_name(&rdp->exp_funnel_mutex,
3889 &rcu_exp_sched_rdp_class,
3890 "rcu_data_exp_sched");
3886}3891}
3887 3892
3888/*3893/*