From 313509f13bc801da6527a4236237b079a90fe4a5 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 16 May 2011 02:24:04 -0700 Subject: [PATCH] --- yaml --- r: 252671 b: refs/heads/master c: 0bbcc529fcea9c7de5e2e7243f9913b8f7302a8c h: refs/heads/master i: 252669: ffebfb55f1ae5c12101b9b836a87d803a03b5bac 252667: cdd4b70bd9471cca8c73e2214587e836dc0df1c4 252663: 02226666a5e28e359e5ca66228e9a6454dcebe3e 252655: e206ae2ad5844ceda77ac6ebd02c87ea12a45efc 252639: 95e11540066033677d1bdcee2b24b11607e6b0a2 252607: d231989b021ce5f615fb76ebc0826ba8917ca0dc 252543: 767469c6577fbb77c3012f6e5c233c3085c2db72 252415: e5875fedb346d082f3b83c05ffb4745810dcb7f0 v: v3 --- [refs] | 2 +- trunk/kernel/rcutree.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5a9e6b4c341d..c718ba2cb76c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba9f207c9f82115aba4ce04b22e0081af0ae300f +refs/heads/master: 0bbcc529fcea9c7de5e2e7243f9913b8f7302a8c diff --git a/trunk/kernel/rcutree.c b/trunk/kernel/rcutree.c index e486f7c3ffb8..3731141d8ad7 100644 --- a/trunk/kernel/rcutree.c +++ b/trunk/kernel/rcutree.c @@ -907,6 +907,12 @@ static void rcu_report_qs_rsp(struct rcu_state *rsp, unsigned long flags) unsigned long gp_duration; WARN_ON_ONCE(!rcu_gp_in_progress(rsp)); + + /* + * Ensure that all grace-period and pre-grace-period activity + * is seen before the assignment to rsp->completed. + */ + smp_mb(); /* See above block comment. */ gp_duration = jiffies - rsp->gp_start; if (gp_duration > rsp->gp_max) rsp->gp_max = gp_duration;