Re: [PATCH] locktorture: make verbose writable and control stats print

From: Paul E. McKenney
Date: Fri Apr 15 2016 - 20:31:32 EST


On Fri, Apr 15, 2016 at 05:19:27PM -0700, Shi, Yang wrote:
> On 4/15/2016 5:09 PM, Paul E. McKenney wrote:
> >On Fri, Apr 15, 2016 at 04:45:32PM -0700, Shi, Yang wrote:
> >>On 4/15/2016 4:26 PM, Paul E. McKenney wrote:
> >>>On Fri, Apr 15, 2016 at 01:28:11PM -0700, Yang Shi wrote:
> >>>>When building locktorture test into kernel image, it keeps printing out
> >>>>stats information even though there is no lock type specified.
> >>>>
> >>>>There is already verbose parameter to control print, but it is read-only,
> >>>>so it can't be changed at runtime. Make verbose read-write and control
> >>>>stats print.
> >>>>
> >>>>Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx>
> >>>
> >>>Interesting change!
> >>>
> >>>But just out of curiosity, when you boot with locktorture built in,
> >>>do you specify the shutdown_secs boot parameter? If so, another
> >>
> >>No, just use the default value, which is 0 for shutdown_secs.
> >>
> >>>approach would be to shutdown immediately upon detecting an error
> >>>during initialization.
> >>
> >>In my case, it looks there is not error involved.
> >
> >You said that there is no lock type specified, but that should mean that
> >the default ("spin_lock") is chosen. If so, I would expect it to just
>
> Yes, spin_lock is chosen by default.
>
> >do the test, at least if locktorture.torture_runnable has been set.
>
> But, the default value of torture_runnable is 0. And, it is readonly
> parameter too. This prevents torture from running if it is built
> into kernel instead of module.

You can specify locktorture.torture_runnable on the kernel command
line. That way, you can build a single kernel and decide at boot
time whether or not you are going to torture locking.

> Actually, I'm confused why there is not LOCK_TORTURE_TEST_RUNNABLE
> Kconfig like RCU torture?

Because there is much more resistance to Kconfig variables than there
used to be. ;-)

Thanx, Paul

> Thanks,
> Yang
>
> >
> >Either way, the usual way to make locktorture shut up would be to boot
> >with locktorture.stat_interval=0.
> >
> >>>If not, I would like to know more about your use case.
> >>
> >>In my test, I just built locktorture test into kernel instead of a
> >>module then check how it behaves, no specific purpose.
> >>
> >>It sounds like not a normal approach to use it.
> >
> >Agreed, I do believe that this is a case of "working as designed".
> >
> > Thanx, Paul
> >
>