Messages in this thread | | | Subject | Re: [PATCH] rcu/tree: Force quiescent state on callback overload | From | Neeraj Upadhyay <> | Date | Mon, 22 Jun 2020 01:30:31 +0530 |
| |
Hi Paul,
On 6/22/2020 1:20 AM, Paul E. McKenney wrote: > On Mon, Jun 22, 2020 at 12:07:27AM +0530, Neeraj Upadhyay wrote: >> On callback overload, we want to force quiescent state immediately, >> for the first and second fqs. Enforce the same, by including >> RCU_GP_FLAG_OVLD flag, in fqsstart check. >> >> Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> > > Good catch! > > But what did you do to verify that this change does the right thing? > > Thanx, Paul >
I haven't done a runtime verification of this code path; I posted this, based on review of this code.
Thanks Neeraj
>> --- >> kernel/rcu/tree.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c >> index d0988a1..6226bfb 100644 >> --- a/kernel/rcu/tree.c >> +++ b/kernel/rcu/tree.c >> @@ -1865,7 +1865,7 @@ static void rcu_gp_fqs_loop(void) >> break; >> /* If time for quiescent-state forcing, do it. */ >> if (!time_after(rcu_state.jiffies_force_qs, jiffies) || >> - (gf & RCU_GP_FLAG_FQS)) { >> + (gf & (RCU_GP_FLAG_FQS | RCU_GP_FLAG_OVLD))) { >> trace_rcu_grace_period(rcu_state.name, rcu_state.gp_seq, >> TPS("fqsstart")); >> rcu_gp_fqs(first_gp_fqs); >> -- >> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, >> a Linux Foundation Collaborative Project >>
-- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
| |