Re: [PATCH 1/2] locktorture: doesn't check nreaders_stress when no readlock support

From: Paul E. McKenney
Date: Thu Sep 17 2020 - 23:37:57 EST


On Fri, Sep 18, 2020 at 09:13:14AM +0800, Hou Tao wrote:
> Hi Paul,
>
> On 2020/9/18 0:58, Paul E. McKenney wrote:
> > On Thu, Sep 17, 2020 at 09:59:09PM +0800, Hou Tao wrote:
> >> To ensure there is always at least one locking thread.
> >>
> >> Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx>
> >> ---
> >> kernel/locking/locktorture.c | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
> >> index 9cfa5e89cff7f..bebdf98e6cd78 100644
> >> --- a/kernel/locking/locktorture.c
> >> +++ b/kernel/locking/locktorture.c
> >> @@ -868,7 +868,8 @@ static int __init lock_torture_init(void)
> >> goto unwind;
> >> }
> >>
> >> - if (nwriters_stress == 0 && nreaders_stress == 0) {
> >> + if (nwriters_stress == 0 &&
> >> + (!cxt.cur_ops->readlock || nreaders_stress == 0)) {
> >
> > You lost me on this one. How does it help to allow tests with zero
> > writers on exclusive locks? Or am I missing something subtle here?
> >
> The purpose is to prohibit test with only readers on exclusive locks, not allow it.
>
> So if the module parameters are "torture_type=mutex_lock nwriters_stress=0 nreaders_stress=3",
> locktorture can fail early instead of continuing but doing nothing useful.

Very good!

Now please make that clear in the commit log. (Your English looks to
me to be more than equal to that challenge.)

In this commit log, please first state what is wrong. Then what the
change is and how it improves things.

Thanx, Paul

> Regards,
> Tao
>
> > Thanx, Paul
> >
> >> pr_alert("lock-torture: must run at least one locking thread\n");
> >> firsterr = -EINVAL;
> >> goto unwind;
> >> --
> >> 2.25.0.4.g0ad7144999
> >>
> > .
> >