2020-02-13 11:40:14

by Hongbo Yao

[permalink] [raw]
Subject: [PATCH RESEND -next] torture: avoid build error without CONFIG_RCU_TORTURE_TEST

If TORTURE_TEST=y(selected by TORTURE_LOCK_TEST) and RCU_TORTURE_TEST=n,
the following error is seen while building kernel/torture.c

kernel/torture.c: In function torture_onoff:
kernel/torture.c:239:3: error: implicit declaration of function
rcutorture_sched_setaffinity; did you mean __NR_ia32_sched_setaffinity?
[-Werror=implicit-function-declaration]
rcutorture_sched_setaffinity(current->pid, cpumask_of(0));

Using sched_setaffnity() instead of rcutorture_sched_setaffinity() to
avoid the error.

Reported-by: Hulk Robot <[email protected]>
Fixes: bc3db9afb849 ("EXP: rcutorture hack to force CPU hotplug onto CPU 0")
Signed-off-by: Hongbo Yao <[email protected]>
---
kernel/torture.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/torture.c b/kernel/torture.c
index b29adec50e01..834214cbd1cd 100644
--- a/kernel/torture.c
+++ b/kernel/torture.c
@@ -236,7 +236,7 @@ torture_onoff(void *arg)
schedule_timeout_interruptible(HZ / 10);
continue;
}
- rcutorture_sched_setaffinity(current->pid, cpumask_of(0));
+ sched_setaffinity(current->pid, cpumask_of(0));
cpu = (torture_random(&rand) >> 4) % (maxcpu + 1);
if (!torture_offline(cpu,
&n_offline_attempts, &n_offline_successes,
--
2.17.1


2020-02-13 13:05:55

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH RESEND -next] torture: avoid build error without CONFIG_RCU_TORTURE_TEST

On Thu, Feb 13, 2020 at 07:53:13PM +0800, Hongbo Yao wrote:
> If TORTURE_TEST=y(selected by TORTURE_LOCK_TEST) and RCU_TORTURE_TEST=n,
> the following error is seen while building kernel/torture.c
>
> kernel/torture.c: In function torture_onoff:
> kernel/torture.c:239:3: error: implicit declaration of function
> rcutorture_sched_setaffinity; did you mean __NR_ia32_sched_setaffinity?
> [-Werror=implicit-function-declaration]
> rcutorture_sched_setaffinity(current->pid, cpumask_of(0));
>
> Using sched_setaffnity() instead of rcutorture_sched_setaffinity() to
> avoid the error.
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: bc3db9afb849 ("EXP: rcutorture hack to force CPU hotplug onto CPU 0")
> Signed-off-by: Hongbo Yao <[email protected]>

Thank you for finding this!

However, this was due to a debugging commit used to chase a particular
bug (hence the "EXP:" at the beginning of the subject line). Now that
this bug has been fixes (woo-hoo!!!), I will be dropping this commit.
In case you are interested, the fix is here:

97be2ad9946f ("rcu: Make rcu_barrier() account for offline no-CBs CPUs")

Either way, thank you for your testing efforts!

Thanx, Paul

> ---
> kernel/torture.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/torture.c b/kernel/torture.c
> index b29adec50e01..834214cbd1cd 100644
> --- a/kernel/torture.c
> +++ b/kernel/torture.c
> @@ -236,7 +236,7 @@ torture_onoff(void *arg)
> schedule_timeout_interruptible(HZ / 10);
> continue;
> }
> - rcutorture_sched_setaffinity(current->pid, cpumask_of(0));
> + sched_setaffinity(current->pid, cpumask_of(0));
> cpu = (torture_random(&rand) >> 4) % (maxcpu + 1);
> if (!torture_offline(cpu,
> &n_offline_attempts, &n_offline_successes,
> --
> 2.17.1
>