2014-04-16 20:47:29

by Pranith Kumar

[permalink] [raw]
Subject: [PATCH 2/2] kernel/rcu/rcutorture.c: use macro to define module parameter

use the defined macro for module parameter definition

Signed-off-by: Pranith Kumar <[email protected]>
---
kernel/rcu/rcutorture.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index bd30bc6..1a0298c 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -143,9 +143,8 @@ static struct list_head rcu_torture_removed;
#else
#define RCUTORTURE_RUNNABLE_INIT 0
#endif
-int rcutorture_runnable = RCUTORTURE_RUNNABLE_INIT;
-module_param(rcutorture_runnable, int, 0444);
-MODULE_PARM_DESC(rcutorture_runnable, "Start rcutorture at boot");
+torture_param(int, rcutorture_runnable, RCUTORTURE_RUNNABLE_INIT,
+ "Start rcutorture at boot");

#if defined(CONFIG_RCU_BOOST) && !defined(CONFIG_HOTPLUG_CPU)
#define rcu_can_boost() 1
--
1.7.9.5


2014-04-16 21:14:13

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 2/2] kernel/rcu/rcutorture.c: use macro to define module parameter

On Wed, Apr 16, 2014 at 04:47:39PM -0400, Pranith Kumar wrote:
> use the defined macro for module parameter definition
>
> Signed-off-by: Pranith Kumar <[email protected]>

This fails for me. The problem is that the defined macro makes everything
static, and rcutorture_runnable is used in kernel/sysctl.c. :-/

In theory, it would be possible to make torture_param() take "static"
as a parameter, but this adds more characters than it removes.

Thanx, Paul

> ---
> kernel/rcu/rcutorture.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index bd30bc6..1a0298c 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -143,9 +143,8 @@ static struct list_head rcu_torture_removed;
> #else
> #define RCUTORTURE_RUNNABLE_INIT 0
> #endif
> -int rcutorture_runnable = RCUTORTURE_RUNNABLE_INIT;
> -module_param(rcutorture_runnable, int, 0444);
> -MODULE_PARM_DESC(rcutorture_runnable, "Start rcutorture at boot");
> +torture_param(int, rcutorture_runnable, RCUTORTURE_RUNNABLE_INIT,
> + "Start rcutorture at boot");
>
> #if defined(CONFIG_RCU_BOOST) && !defined(CONFIG_HOTPLUG_CPU)
> #define rcu_can_boost() 1
> --
> 1.7.9.5
>

2014-04-16 23:11:15

by Pranith Kumar

[permalink] [raw]
Subject: Re: [PATCH 2/2] kernel/rcu/rcutorture.c: use macro to define module parameter

On Wed, Apr 16, 2014 at 5:14 PM, Paul E. McKenney
<[email protected]> wrote:
>
> This fails for me. The problem is that the defined macro makes everything
> static, and rcutorture_runnable is used in kernel/sysctl.c. :-/
>
> In theory, it would be possible to make torture_param() take "static"
> as a parameter, but this adds more characters than it removes.
>

Oh, I just tried building it as a module and it worked. In the future
I will run this both as inbuilt and as a module before sending any
patches.

Sorry for the noise!


--
Pranith

2014-04-16 23:23:36

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 2/2] kernel/rcu/rcutorture.c: use macro to define module parameter

On Wed, Apr 16, 2014 at 07:10:41PM -0400, Pranith Kumar wrote:
> On Wed, Apr 16, 2014 at 5:14 PM, Paul E. McKenney
> <[email protected]> wrote:
> >
> > This fails for me. The problem is that the defined macro makes everything
> > static, and rcutorture_runnable is used in kernel/sysctl.c. :-/
> >
> > In theory, it would be possible to make torture_param() take "static"
> > as a parameter, but this adds more characters than it removes.
> >
>
> Oh, I just tried building it as a module and it worked. In the future
> I will run this both as inbuilt and as a module before sending any
> patches.
>
> Sorry for the noise!

This is not noise! I do intend to use it as a module in the future, so
it is helpful that you found and fixed the other bugs. I really cannot
complain about one bad patch out of several useful fixes! So please
do keep trying things and looking at things in RCU. ;-)

Thanx, Paul