diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-10-20 15:06:18 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-11-30 01:01:59 -0500 |
commit | 2d999e03b7c8305b4385dd20992e4ed3e827177b (patch) | |
tree | 3402eeb03a6cc7ac8013974983f09e46f5ecd562 /kernel/rcutree.c | |
parent | 29494be71afe2a16ad04e344306a620d7cc22d06 (diff) |
rcu: update documentation/comments for Lai's adoption patch
Lai's RCU-callback immediate-adoption patch changes the RCU tracing
output, so update tracing.txt. Also update a few comments to clarify
the synchronization design.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r-- | kernel/rcutree.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 669d7fe049d1..120820ffc657 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
@@ -1668,7 +1668,9 @@ static void _rcu_barrier(struct rcu_state *rsp, | |||
1668 | * decrement rcu_barrier_cpu_count -- otherwise the first CPU | 1668 | * decrement rcu_barrier_cpu_count -- otherwise the first CPU |
1669 | * might complete its grace period before all of the other CPUs | 1669 | * might complete its grace period before all of the other CPUs |
1670 | * did their increment, causing this function to return too | 1670 | * did their increment, causing this function to return too |
1671 | * early. | 1671 | * early. Note that on_each_cpu() disables irqs, which prevents |
1672 | * any CPUs from coming online or going offline until each online | ||
1673 | * CPU has queued its RCU-barrier callback. | ||
1672 | */ | 1674 | */ |
1673 | atomic_set(&rcu_barrier_cpu_count, 1); | 1675 | atomic_set(&rcu_barrier_cpu_count, 1); |
1674 | on_each_cpu(rcu_barrier_func, (void *)call_rcu_func, 1); | 1676 | on_each_cpu(rcu_barrier_func, (void *)call_rcu_func, 1); |
@@ -1797,9 +1799,9 @@ static int __cpuinit rcu_cpu_notify(struct notifier_block *self, | |||
1797 | case CPU_DYING: | 1799 | case CPU_DYING: |
1798 | case CPU_DYING_FROZEN: | 1800 | case CPU_DYING_FROZEN: |
1799 | /* | 1801 | /* |
1800 | * The whole machine is "stopped" except this cpu, so we can | 1802 | * The whole machine is "stopped" except this CPU, so we can |
1801 | * touch any data without introducing corruption. And we send | 1803 | * touch any data without introducing corruption. We send the |
1802 | * the callbacks to an attribute chosen online cpu. | 1804 | * dying CPU's callbacks to an arbitrarily chosen online CPU. |
1803 | */ | 1805 | */ |
1804 | rcu_send_cbs_to_online(&rcu_bh_state); | 1806 | rcu_send_cbs_to_online(&rcu_bh_state); |
1805 | rcu_send_cbs_to_online(&rcu_sched_state); | 1807 | rcu_send_cbs_to_online(&rcu_sched_state); |