Subject: [PATCH] locking: locktorture: Do not include rwlock.h directly

From: Wolfgang M. Reimer <[email protected]>

Including rwlock.h directly will cause kernel builds to fail
if CONFIG_PREEMPT_RT is defined. The correct header file
(rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
is included by locktorture.c anyway.

Remove the include of linux/rwlock.h.

Signed-off-by: Wolfgang M. Reimer <[email protected]>
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
---
kernel/locking/locktorture.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
index c513031cd7e33..9fb042d610d23 100644
--- a/kernel/locking/locktorture.c
+++ b/kernel/locking/locktorture.c
@@ -16,7 +16,6 @@
#include <linux/kthread.h>
#include <linux/sched/rt.h>
#include <linux/spinlock.h>
-#include <linux/rwlock.h>
#include <linux/mutex.h>
#include <linux/rwsem.h>
#include <linux/smp.h>
--
2.23.0


2019-09-16 21:35:04

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] locking: locktorture: Do not include rwlock.h directly

On Mon, Sep 16, 2019 at 04:54:04PM +0200, Sebastian Andrzej Siewior wrote:
> From: Wolfgang M. Reimer <[email protected]>
>
> Including rwlock.h directly will cause kernel builds to fail
> if CONFIG_PREEMPT_RT is defined. The correct header file
> (rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
> is included by locktorture.c anyway.
>
> Remove the include of linux/rwlock.h.
>
> Signed-off-by: Wolfgang M. Reimer <[email protected]>
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>

Queued for further review and testing, thank you both!

Thanx, Paul

> ---
> kernel/locking/locktorture.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
> index c513031cd7e33..9fb042d610d23 100644
> --- a/kernel/locking/locktorture.c
> +++ b/kernel/locking/locktorture.c
> @@ -16,7 +16,6 @@
> #include <linux/kthread.h>
> #include <linux/sched/rt.h>
> #include <linux/spinlock.h>
> -#include <linux/rwlock.h>
> #include <linux/mutex.h>
> #include <linux/rwsem.h>
> #include <linux/smp.h>
> --
> 2.23.0
>

2019-09-17 09:43:28

by Davidlohr Bueso

[permalink] [raw]
Subject: Re: [PATCH] locking: locktorture: Do not include rwlock.h directly

On Mon, 16 Sep 2019, Sebastian Andrzej Siewior wrote:

>From: Wolfgang M. Reimer <[email protected]>
>
>Including rwlock.h directly will cause kernel builds to fail
>if CONFIG_PREEMPT_RT is defined. The correct header file
>(rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
>is included by locktorture.c anyway.
>
>Remove the include of linux/rwlock.h.
>

Acked-by: Davidlohr Bueso <[email protected]>

>Signed-off-by: Wolfgang M. Reimer <[email protected]>
>Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
>---
> kernel/locking/locktorture.c | 1 -
> 1 file changed, 1 deletion(-)
>
>diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
>index c513031cd7e33..9fb042d610d23 100644
>--- a/kernel/locking/locktorture.c
>+++ b/kernel/locking/locktorture.c
>@@ -16,7 +16,6 @@
> #include <linux/kthread.h>
> #include <linux/sched/rt.h>
> #include <linux/spinlock.h>
>-#include <linux/rwlock.h>
> #include <linux/mutex.h>
> #include <linux/rwsem.h>
> #include <linux/smp.h>
>--
>2.23.0
>

2019-09-17 18:53:18

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] locking: locktorture: Do not include rwlock.h directly

On Tue, Sep 17, 2019 at 12:16:14AM -0700, Davidlohr Bueso wrote:
> On Mon, 16 Sep 2019, Sebastian Andrzej Siewior wrote:
>
> > From: Wolfgang M. Reimer <[email protected]>
> >
> > Including rwlock.h directly will cause kernel builds to fail
> > if CONFIG_PREEMPT_RT is defined. The correct header file
> > (rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
> > is included by locktorture.c anyway.
> >
> > Remove the include of linux/rwlock.h.
> >
>
> Acked-by: Davidlohr Bueso <[email protected]>

Applied, thank you!

But does anyone actually run locktorture?

Thanx, Paul

> > Signed-off-by: Wolfgang M. Reimer <[email protected]>
> > Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> > ---
> > kernel/locking/locktorture.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
> > index c513031cd7e33..9fb042d610d23 100644
> > --- a/kernel/locking/locktorture.c
> > +++ b/kernel/locking/locktorture.c
> > @@ -16,7 +16,6 @@
> > #include <linux/kthread.h>
> > #include <linux/sched/rt.h>
> > #include <linux/spinlock.h>
> > -#include <linux/rwlock.h>
> > #include <linux/mutex.h>
> > #include <linux/rwsem.h>
> > #include <linux/smp.h>
> > --
> > 2.23.0
> >

2019-09-18 06:29:55

by Davidlohr Bueso

[permalink] [raw]
Subject: Re: [PATCH] locking: locktorture: Do not include rwlock.h directly

On Tue, 17 Sep 2019, Paul E. McKenney wrote:

>On Tue, Sep 17, 2019 at 12:16:14AM -0700, Davidlohr Bueso wrote:
>> On Mon, 16 Sep 2019, Sebastian Andrzej Siewior wrote:
>>
>> > From: Wolfgang M. Reimer <[email protected]>
>> >
>> > Including rwlock.h directly will cause kernel builds to fail
>> > if CONFIG_PREEMPT_RT is defined. The correct header file
>> > (rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
>> > is included by locktorture.c anyway.
>> >
>> > Remove the include of linux/rwlock.h.
>> >
>>
>> Acked-by: Davidlohr Bueso <[email protected]>
>
>Applied, thank you!
>
>But does anyone actually run locktorture?

I do at least. I also know of cases of other folks making use of the
"framework" to test/pound on custom tailored locks -- ie btrfs tree lock.

I've also seen it in one or two academic papers.

Thanks,
Davidlohr

2019-09-18 17:38:48

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] locking: locktorture: Do not include rwlock.h directly

On Tue, Sep 17, 2019 at 11:24:04PM -0700, Davidlohr Bueso wrote:
> On Tue, 17 Sep 2019, Paul E. McKenney wrote:
>
> > On Tue, Sep 17, 2019 at 12:16:14AM -0700, Davidlohr Bueso wrote:
> > > On Mon, 16 Sep 2019, Sebastian Andrzej Siewior wrote:
> > >
> > > > From: Wolfgang M. Reimer <[email protected]>
> > > >
> > > > Including rwlock.h directly will cause kernel builds to fail
> > > > if CONFIG_PREEMPT_RT is defined. The correct header file
> > > > (rwlock_rt.h OR rwlock.h) will be included by spinlock.h which
> > > > is included by locktorture.c anyway.
> > > >
> > > > Remove the include of linux/rwlock.h.
> > > >
> > >
> > > Acked-by: Davidlohr Bueso <[email protected]>
> >
> > Applied, thank you!
> >
> > But does anyone actually run locktorture?
>
> I do at least. I also know of cases of other folks making use of the
> "framework" to test/pound on custom tailored locks -- ie btrfs tree lock.
>
> I've also seen it in one or two academic papers.

OK, I will hold off on a patch removing it, then. ;-)

Thanx, Paul