diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-03 15:35:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-03 15:35:05 -0400 |
commit | 59a3d4c3631e553357b7305dc09db1990aa6757c (patch) | |
tree | 7c55a2447dc7175d8701c600e5536e4a18d8388b /kernel/rcu/tiny_plugin.h | |
parent | ff806d034ef8e9a95ff0b0532104dd65332e446b (diff) | |
parent | e14505a8d50882ff3bdd4b791b14d90a0881fa4d (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull RCU changes from Ingo Molnar:
"The main RCU changes in this cycle were:
- RCU torture-test changes.
- variable-name renaming cleanup.
- update RCU documentation.
- miscellaneous fixes.
- patch to suppress RCU stall warnings while sysrq requests are being
processed"
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
rcu: Provide API to suppress stall warnings while sysrc runs
rcu: Variable name changed in tree_plugin.h and used in tree.c
torture: Remove unused definition
torture: Remove __init from torture_init_begin/end
torture: Check for multiple concurrent torture tests
locktorture: Remove reference to nonexistent Kconfig parameter
rcutorture: Run rcu_torture_writer at normal priority
rcutorture: Note diffs from git commits
rcutorture: Add missing destroy_timer_on_stack()
rcutorture: Explicitly test synchronous grace-period primitives
rcutorture: Add tests for get_state_synchronize_rcu()
rcutorture: Test RCU-sched primitives in TREE_PREEMPT_RCU kernels
torture: Use elapsed time to detect hangs
rcutorture: Check for rcu_torture_fqs creation errors
torture: Better summary diagnostics for build failures
torture: Notice if an all-zero cpumask is passed inside a critical section
rcutorture: Make rcu_torture_reader() use cond_resched()
sched,rcu: Make cond_resched() report RCU quiescent states
percpu: Fix raw_cpu_inc_return()
rcutorture: Export RCU grace-period kthread wait state to rcutorture
...
Diffstat (limited to 'kernel/rcu/tiny_plugin.h')
-rw-r--r-- | kernel/rcu/tiny_plugin.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/rcu/tiny_plugin.h b/kernel/rcu/tiny_plugin.h index 431528520562..858c56569127 100644 --- a/kernel/rcu/tiny_plugin.h +++ b/kernel/rcu/tiny_plugin.h | |||
@@ -144,7 +144,7 @@ static void check_cpu_stall(struct rcu_ctrlblk *rcp) | |||
144 | return; | 144 | return; |
145 | rcp->ticks_this_gp++; | 145 | rcp->ticks_this_gp++; |
146 | j = jiffies; | 146 | j = jiffies; |
147 | js = rcp->jiffies_stall; | 147 | js = ACCESS_ONCE(rcp->jiffies_stall); |
148 | if (*rcp->curtail && ULONG_CMP_GE(j, js)) { | 148 | if (*rcp->curtail && ULONG_CMP_GE(j, js)) { |
149 | pr_err("INFO: %s stall on CPU (%lu ticks this GP) idle=%llx (t=%lu jiffies q=%ld)\n", | 149 | pr_err("INFO: %s stall on CPU (%lu ticks this GP) idle=%llx (t=%lu jiffies q=%ld)\n", |
150 | rcp->name, rcp->ticks_this_gp, rcu_dynticks_nesting, | 150 | rcp->name, rcp->ticks_this_gp, rcu_dynticks_nesting, |
@@ -152,17 +152,17 @@ static void check_cpu_stall(struct rcu_ctrlblk *rcp) | |||
152 | dump_stack(); | 152 | dump_stack(); |
153 | } | 153 | } |
154 | if (*rcp->curtail && ULONG_CMP_GE(j, js)) | 154 | if (*rcp->curtail && ULONG_CMP_GE(j, js)) |
155 | rcp->jiffies_stall = jiffies + | 155 | ACCESS_ONCE(rcp->jiffies_stall) = jiffies + |
156 | 3 * rcu_jiffies_till_stall_check() + 3; | 156 | 3 * rcu_jiffies_till_stall_check() + 3; |
157 | else if (ULONG_CMP_GE(j, js)) | 157 | else if (ULONG_CMP_GE(j, js)) |
158 | rcp->jiffies_stall = jiffies + rcu_jiffies_till_stall_check(); | 158 | ACCESS_ONCE(rcp->jiffies_stall) = jiffies + rcu_jiffies_till_stall_check(); |
159 | } | 159 | } |
160 | 160 | ||
161 | static void reset_cpu_stall_ticks(struct rcu_ctrlblk *rcp) | 161 | static void reset_cpu_stall_ticks(struct rcu_ctrlblk *rcp) |
162 | { | 162 | { |
163 | rcp->ticks_this_gp = 0; | 163 | rcp->ticks_this_gp = 0; |
164 | rcp->gp_start = jiffies; | 164 | rcp->gp_start = jiffies; |
165 | rcp->jiffies_stall = jiffies + rcu_jiffies_till_stall_check(); | 165 | ACCESS_ONCE(rcp->jiffies_stall) = jiffies + rcu_jiffies_till_stall_check(); |
166 | } | 166 | } |
167 | 167 | ||
168 | static void check_cpu_stalls(void) | 168 | static void check_cpu_stalls(void) |