|
@@ -1716,11 +1716,8 @@ rcu_report_qs_rdp(int cpu, struct rcu_state *rsp, struct rcu_data *rdp)
|
|
|
static void
|
|
|
rcu_check_quiescent_state(struct rcu_state *rsp, struct rcu_data *rdp)
|
|
|
{
|
|
|
- /* If there is now a new grace period, record and return. */
|
|
|
- if (rdp->gpnum != rsp->gpnum) {
|
|
|
- note_gp_changes(rsp, rdp);
|
|
|
- return;
|
|
|
- }
|
|
|
+ /* Check for grace-period ends and beginnings. */
|
|
|
+ note_gp_changes(rsp, rdp);
|
|
|
|
|
|
/*
|
|
|
* Does this CPU still need to do its part for current grace period?
|
|
@@ -2184,9 +2181,6 @@ __rcu_process_callbacks(struct rcu_state *rsp)
|
|
|
|
|
|
WARN_ON_ONCE(rdp->beenonline == 0);
|
|
|
|
|
|
- /* Handle the end of a grace period that some other CPU ended. */
|
|
|
- note_gp_changes(rsp, rdp);
|
|
|
-
|
|
|
/* Update RCU state based on any recent quiescent states. */
|
|
|
rcu_check_quiescent_state(rsp, rdp);
|
|
|
|