diff options
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tree.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 48d640ca1a05..735bd7ee749a 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -1798,7 +1798,7 @@ static int rcu_gp_fqs(struct rcu_state *rsp, int fqs_state_in) | |||
1798 | fqs_state = RCU_FORCE_QS; | 1798 | fqs_state = RCU_FORCE_QS; |
1799 | } else { | 1799 | } else { |
1800 | /* Handle dyntick-idle and offline CPUs. */ | 1800 | /* Handle dyntick-idle and offline CPUs. */ |
1801 | isidle = false; | 1801 | isidle = true; |
1802 | force_qs_rnp(rsp, rcu_implicit_dynticks_qs, &isidle, &maxj); | 1802 | force_qs_rnp(rsp, rcu_implicit_dynticks_qs, &isidle, &maxj); |
1803 | } | 1803 | } |
1804 | /* Clear flag to prevent immediate re-entry. */ | 1804 | /* Clear flag to prevent immediate re-entry. */ |
@@ -2596,8 +2596,8 @@ static void force_qs_rnp(struct rcu_state *rsp, | |||
2596 | bit = 1; | 2596 | bit = 1; |
2597 | for (; cpu <= rnp->grphi; cpu++, bit <<= 1) { | 2597 | for (; cpu <= rnp->grphi; cpu++, bit <<= 1) { |
2598 | if ((rnp->qsmask & bit) != 0) { | 2598 | if ((rnp->qsmask & bit) != 0) { |
2599 | if ((rnp->qsmaskinit & bit) != 0) | 2599 | if ((rnp->qsmaskinit & bit) == 0) |
2600 | *isidle = false; | 2600 | *isidle = false; /* Pending hotplug. */ |
2601 | if (f(per_cpu_ptr(rsp->rda, cpu), isidle, maxj)) | 2601 | if (f(per_cpu_ptr(rsp->rda, cpu), isidle, maxj)) |
2602 | mask |= bit; | 2602 | mask |= bit; |
2603 | } | 2603 | } |