* current grace period, we don't need to explicitly start one.
*/
if (rnp->gpnum != rnp->completed) {
- need_future_gp_element(rnp, c)++;
+ need_future_gp_element(rnp, c) = true;
trace_rcu_future_gp(rnp, rdp, c, TPS("Startedleaf"));
goto out;
}
}
/* Record the need for the future grace period. */
- need_future_gp_element(rnp_root, c)++;
+ need_future_gp_element(rnp_root, c) = true;
/* If a grace period is not already in progress, start one. */
if (rnp_root->gpnum != rnp_root->completed) {
bool needmore;
struct rcu_data *rdp = this_cpu_ptr(rsp->rda);
- need_future_gp_element(rnp, c) = 0;
+ need_future_gp_element(rnp, c) = false;
needmore = need_any_future_gp(rnp);
trace_rcu_future_gp(rnp, rdp, c,
needmore ? TPS("CleanupMore") : TPS("Cleanup"));
struct swait_queue_head nocb_gp_wq[2];
/* Place for rcu_nocb_kthread() to wait GP. */
#endif /* #ifdef CONFIG_RCU_NOCB_CPU */
- int need_future_gp[4]; /* Counts of upcoming no-CB GP requests. */
+ u8 need_future_gp[4]; /* Counts of upcoming GP requests. */
raw_spinlock_t fqslock ____cacheline_internodealigned_in_smp;
spinlock_t exp_lock ____cacheline_internodealigned_in_smp;