|
@@ -1309,6 +1309,9 @@ __rcu_process_gp_end(struct rcu_state *rsp, struct rcu_node *rnp, struct rcu_dat
|
|
*/
|
|
*/
|
|
static void __note_new_gpnum(struct rcu_state *rsp, struct rcu_node *rnp, struct rcu_data *rdp)
|
|
static void __note_new_gpnum(struct rcu_state *rsp, struct rcu_node *rnp, struct rcu_data *rdp)
|
|
{
|
|
{
|
|
|
|
+ /* Handle the ends of any preceding grace periods first. */
|
|
|
|
+ __rcu_process_gp_end(rsp, rnp, rdp);
|
|
|
|
+
|
|
if (rdp->gpnum != rnp->gpnum) {
|
|
if (rdp->gpnum != rnp->gpnum) {
|
|
/*
|
|
/*
|
|
* If the current grace period is waiting for this CPU,
|
|
* If the current grace period is waiting for this CPU,
|