aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-07-30 10:32:48 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-09-29 00:38:32 -0400
commit7eb4f4553ceaa6c64da83c8a71d5a991c0188655 (patch)
tree308ce033d4c449effc3d6b99eb0adf8857357124 /kernel/rcutree.c
parent717f98f0f87c16c1e5768ac8f67c27f3d3535a25 (diff)
rcu: Make rcu_implicit_dynticks_qs() locals be correct size
When the ->dynticks field in the rcu_dynticks structure changed to an atomic_t, its size on 64-bit systems changed from 64 bits to 32 bits. The local variables in rcu_implicit_dynticks_qs() need to change as well, hence this commit. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r--kernel/rcutree.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 0c6c30dc6a7c..ebd18e56947b 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -488,11 +488,11 @@ static int dyntick_save_progress_counter(struct rcu_data *rdp)
488 */ 488 */
489static int rcu_implicit_dynticks_qs(struct rcu_data *rdp) 489static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
490{ 490{
491 unsigned long curr; 491 unsigned int curr;
492 unsigned long snap; 492 unsigned int snap;
493 493
494 curr = (unsigned long)atomic_add_return(0, &rdp->dynticks->dynticks); 494 curr = (unsigned int)atomic_add_return(0, &rdp->dynticks->dynticks);
495 snap = (unsigned long)rdp->dynticks_snap; 495 snap = (unsigned int)rdp->dynticks_snap;
496 496
497 /* 497 /*
498 * If the CPU passed through or entered a dynticks idle phase with 498 * If the CPU passed through or entered a dynticks idle phase with
@@ -502,7 +502,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
502 * read-side critical section that started before the beginning 502 * read-side critical section that started before the beginning
503 * of the current RCU grace period. 503 * of the current RCU grace period.
504 */ 504 */
505 if ((curr & 0x1) == 0 || ULONG_CMP_GE(curr, snap + 2)) { 505 if ((curr & 0x1) == 0 || UINT_CMP_GE(curr, snap + 2)) {
506 trace_rcu_fqs(rdp->rsp->name, rdp->gpnum, rdp->cpu, "dti"); 506 trace_rcu_fqs(rdp->rsp->name, rdp->gpnum, rdp->cpu, "dti");
507 rdp->dynticks_fqs++; 507 rdp->dynticks_fqs++;
508 return 1; 508 return 1;