I'm afraid so. I did some other investigations on Kernel config and yes, the only difference is:

CONFIG_RCU_TORTURE_TEST=m

vs

CONFIG_RCU_TORTURE_TEST=y

The other switcher, CONFIG_RCU_TORTURE_TEST_RUNNABLE, seems doesn't matter here. If I set CONFIG_RCU_TORTURE_TEST to m, then that TEST_RUNNABLE switcher wouldn't appear in .config at all. If I set CONFIG_RCU_TORTURE_TEST to y, the TEST_RUNNABLE shows in .config but be left as not set, and I have to manually modify it to n.

The way I edit the config file is to modify this one "arch/arm/configs/omap2plus_defconfig", then run:

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- omap2plus_defconfig

then double check the .config created by above command.



On 4 December 2014 at 01:05, Arnd Bergmann <arnd@arndb.de> wrote:
On Wednesday 03 December 2014 22:06:09 Botao Sun wrote:
> Hi Arnd,
>
> Thank you so much for such detailed information!
>
> I now have some break through here, still on master branch though, but just
> for a demonstration.
>
> root@linaro-developer:~# modprobe rcutorture
>
> after above command, the test started automatically:
>
> [  198.794616] rcu-torture:--- Start of test: nreaders=1 nfakewriters=4
> stat_interval=60 verbose=1 test_no_idle_hz=1 shuffle_interval=3 stutter=5
> irqr0
> [  198.827484] rcu-torture: Creating rcu_torture_writer task
> [  198.834808] rcu-torture: rcu_torture_writer task started
> [  198.834808] rcu-torture: Creating rcu_torture_fakewriter task
> [  198.835144] rcu-torture: Creating rcu_torture_fakewriter task
> [  198.835266] rcu-torture: Creating rcu_torture_fakewriter task
> root@linaro-developer:~# [  198.835357] rcu-torture: rcu_torture_fakewriter
> task started

Ah, very good.

> I then waited for a while and ran:
>
> root@linaro-developer:~# rmmod rcutorture
>
> And the test can be done successfully:
>
> [  823.522430] rcu-torture:--- End of test: SUCCESS: nreaders=1
> nfakewriters=4 stat_interval=60 verbose=1 test_no_idle_hz=1
> shuffle_interval=3 stutter0
>
> Detailed log can be found in attachment.

Ok, so now you have a failed and a successful run. Is the only difference
between the two whether the rcutorture test was a loadable module or not?

        Arnd