diff options
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index b3d116cd072d..351faba48b91 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -12,8 +12,8 @@ | |||
12 | * GNU General Public License for more details. | 12 | * GNU General Public License for more details. |
13 | * | 13 | * |
14 | * You should have received a copy of the GNU General Public License | 14 | * You should have received a copy of the GNU General Public License |
15 | * along with this program; if not, write to the Free Software | 15 | * along with this program; if not, you can access it online at |
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 16 | * http://www.gnu.org/licenses/gpl-2.0.html. |
17 | * | 17 | * |
18 | * Copyright IBM Corporation, 2008 | 18 | * Copyright IBM Corporation, 2008 |
19 | * | 19 | * |
@@ -58,8 +58,6 @@ | |||
58 | #include <linux/suspend.h> | 58 | #include <linux/suspend.h> |
59 | 59 | ||
60 | #include "tree.h" | 60 | #include "tree.h" |
61 | #include <trace/events/rcu.h> | ||
62 | |||
63 | #include "rcu.h" | 61 | #include "rcu.h" |
64 | 62 | ||
65 | MODULE_ALIAS("rcutree"); | 63 | MODULE_ALIAS("rcutree"); |
@@ -837,7 +835,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp, | |||
837 | * to the next. Only do this for the primary flavor of RCU. | 835 | * to the next. Only do this for the primary flavor of RCU. |
838 | */ | 836 | */ |
839 | if (rdp->rsp == rcu_state && | 837 | if (rdp->rsp == rcu_state && |
840 | ULONG_CMP_GE(ACCESS_ONCE(jiffies), rdp->rsp->jiffies_resched)) { | 838 | ULONG_CMP_GE(jiffies, rdp->rsp->jiffies_resched)) { |
841 | rdp->rsp->jiffies_resched += 5; | 839 | rdp->rsp->jiffies_resched += 5; |
842 | resched_cpu(rdp->cpu); | 840 | resched_cpu(rdp->cpu); |
843 | } | 841 | } |
@@ -847,7 +845,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp, | |||
847 | 845 | ||
848 | static void record_gp_stall_check_time(struct rcu_state *rsp) | 846 | static void record_gp_stall_check_time(struct rcu_state *rsp) |
849 | { | 847 | { |
850 | unsigned long j = ACCESS_ONCE(jiffies); | 848 | unsigned long j = jiffies; |
851 | unsigned long j1; | 849 | unsigned long j1; |
852 | 850 | ||
853 | rsp->gp_start = j; | 851 | rsp->gp_start = j; |
@@ -1005,7 +1003,7 @@ static void check_cpu_stall(struct rcu_state *rsp, struct rcu_data *rdp) | |||
1005 | 1003 | ||
1006 | if (rcu_cpu_stall_suppress || !rcu_gp_in_progress(rsp)) | 1004 | if (rcu_cpu_stall_suppress || !rcu_gp_in_progress(rsp)) |
1007 | return; | 1005 | return; |
1008 | j = ACCESS_ONCE(jiffies); | 1006 | j = jiffies; |
1009 | 1007 | ||
1010 | /* | 1008 | /* |
1011 | * Lots of memory barriers to reject false positives. | 1009 | * Lots of memory barriers to reject false positives. |
@@ -2304,7 +2302,7 @@ static void force_quiescent_state(struct rcu_state *rsp) | |||
2304 | if (rnp_old != NULL) | 2302 | if (rnp_old != NULL) |
2305 | raw_spin_unlock(&rnp_old->fqslock); | 2303 | raw_spin_unlock(&rnp_old->fqslock); |
2306 | if (ret) { | 2304 | if (ret) { |
2307 | rsp->n_force_qs_lh++; | 2305 | ACCESS_ONCE(rsp->n_force_qs_lh)++; |
2308 | return; | 2306 | return; |
2309 | } | 2307 | } |
2310 | rnp_old = rnp; | 2308 | rnp_old = rnp; |
@@ -2316,7 +2314,7 @@ static void force_quiescent_state(struct rcu_state *rsp) | |||
2316 | smp_mb__after_unlock_lock(); | 2314 | smp_mb__after_unlock_lock(); |
2317 | raw_spin_unlock(&rnp_old->fqslock); | 2315 | raw_spin_unlock(&rnp_old->fqslock); |
2318 | if (ACCESS_ONCE(rsp->gp_flags) & RCU_GP_FLAG_FQS) { | 2316 | if (ACCESS_ONCE(rsp->gp_flags) & RCU_GP_FLAG_FQS) { |
2319 | rsp->n_force_qs_lh++; | 2317 | ACCESS_ONCE(rsp->n_force_qs_lh)++; |
2320 | raw_spin_unlock_irqrestore(&rnp_old->lock, flags); | 2318 | raw_spin_unlock_irqrestore(&rnp_old->lock, flags); |
2321 | return; /* Someone beat us to it. */ | 2319 | return; /* Someone beat us to it. */ |
2322 | } | 2320 | } |
@@ -2880,7 +2878,7 @@ static int rcu_pending(int cpu) | |||
2880 | * non-NULL, store an indication of whether all callbacks are lazy. | 2878 | * non-NULL, store an indication of whether all callbacks are lazy. |
2881 | * (If there are no callbacks, all of them are deemed to be lazy.) | 2879 | * (If there are no callbacks, all of them are deemed to be lazy.) |
2882 | */ | 2880 | */ |
2883 | static int rcu_cpu_has_callbacks(int cpu, bool *all_lazy) | 2881 | static int __maybe_unused rcu_cpu_has_callbacks(int cpu, bool *all_lazy) |
2884 | { | 2882 | { |
2885 | bool al = true; | 2883 | bool al = true; |
2886 | bool hc = false; | 2884 | bool hc = false; |