On 4/21/2025 2:32 PM, Paul E. McKenney wrote: > On Mon, Apr 21, 2025 at 01:53:17PM -0400, Joel Fernandes wrote: >> On 4/21/2025 1:47 PM, Joel Fernandes wrote: >>> Currently, the ->gpwrap is not tested (at all per my testing) due to the >>> requirement of a large delta between a CPU's rdp->gp_seq and its node's >>> rnp->gpseq. >>> >>> This results in no testing of ->gpwrap being set. This patch by default >>> adds 5 minutes of testing with ->gpwrap forced by lowering the delta >>> between rdp->gp_seq and rnp->gp_seq to just 8 GPs. All of this is >>> configurable, including the active time for the setting and a full >>> testing cycle. >>> >>> By default, the first 25 minutes of a test will have the _default_ >>> behavior there is right now (ULONG_MAX / 4) delta. Then for 5 minutes, >>> we switch to a smaller delta causing 1-2 wraps in 5 minutes. I believe >>> this is reasonable since we at least add a little bit of testing for >>> usecases where ->gpwrap is set. >>> >>> Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> >>> Signed-off-by: Joel Fernandes <joelagnelf@xxxxxxxxxx> >>> --- >>> v4->v5 >>> - Added gpwrap_lag torture param to turn off entire test. >>> - replaced references to 'ovf' with 'gpwrap lag'. >>> >>> Will move this to my rcu/torture-for-6.16 and update my rcu/for-next branches. >>> >>> .../admin-guide/kernel-parameters.txt | 5 ++ >>> kernel/rcu/rcu.h | 4 ++ >>> kernel/rcu/rcutorture.c | 72 ++++++++++++++++++- >>> kernel/rcu/tree.c | 34 ++++++++- >>> kernel/rcu/tree.h | 1 + >>> 5 files changed, 113 insertions(+), 3 deletions(-) >>> >>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt >>> index 76e538c77e31..e1d11b6595fd 100644 >>> --- a/Documentation/admin-guide/kernel-parameters.txt >>> +++ b/Documentation/admin-guide/kernel-parameters.txt >>> @@ -5657,6 +5657,11 @@ >>> are zero, rcutorture acts as if is interpreted >>> they are all non-zero. >>> >>> + rcutorture.gpwrap_lag= [KNL] >>> + Enable grace-period wrap lag testing. Setting >>> + to false prevents the gpwrap lag test from >>> + running. >>> + >> FYI, I added docs for the additional params here as well: > > Even better, thank you! > >> + rcutorture.gpwrap_lag= [KNL] >> + Enable grace-period wrap lag testing. Setting >> + to false prevents the gpwrap lag test from >> + running. >> + >> + rcutorture.gpwrap_lag_gps= [KNL] >> + Set the value for grace-period wrap lag during >> + active lag testing periods. This controls how many >> + grace periods differences we tolerate between >> + rdp and rnp's gp_seq before setting overflow flag. > > I suggest adding the default, as well as the default when no testing > is taking place. Will do, thanks. - Joel