This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Error msg "INFO: suspicious RCU usage" in booting up stage

Hi,

I got the following error message during booting up stage.

I tried it with 3 types of AM335x CPU with different frequency (300MHz, 600MHz, 1GHz)

But it is weird that this error message only shows in 300&600 MHz, but not in 1GHz.

Is there any timing problem or something else I need to adjust in Linux kernel?

(The value in /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequency is correct in each CPU model)

[    1.529510] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.539276]

[    1.540863] ===============================
[    1.545257] [ INFO: suspicious RCU usage. ]
[    1.549621] -------------------------------
[    1.554016] drivers/base/power/opp.c:153 suspicious rcu_dereference_check() usage!
[    1.561920]
[    1.561920] other info that might help us debug this:
[    1.561920]
[    1.570281]
[    1.570281] rcu_scheduler_active = 1, debug_locks = 1
[    1.577117] 3 locks held by swapper/1:
[    1.581024]  #0:  (sysdev_drivers_lock){+.+.+.}, at: [<c02516ac>] sysdev_driver_register+0x54/0x13c
[    1.590545]  #1:  (&per_cpu(cpu_policy_rwsem, cpu)){+.+.+.}, at: [<c02e13a8>] lock_policy_rwsem_write+0x28/0x50
[    1.601135]  #2:  (userspace_mutex){+.+...}, at: [<c02e2744>] cpufreq_governor_userspace+0xc8/0x22c
[    1.610626]
[    1.610626] stack backtrace:
[    1.615203] Backtrace:
[    1.617767] [<c001cb80>] (dump_backtrace+0x0/0x10c) from [<c03cb8fc>] (dump_stack+0x18/0x1c)
[    1.626617]  r6:00000099 r5:c04a3be8 r4:cf01b800 r3:cf01b800
[    1.632568] [<c03cb8e4>] (dump_stack+0x0/0x1c) from [<c006ee2c>] (lockdep_rcu_suspicious+0xbc/0xc0)
[    1.642028] [<c006ed70>] (lockdep_rcu_suspicious+0x0/0xc0) from [<c0258ee0>] (opp_get_voltage+0x90/0xc0)
[    1.651947]  r7:00000000 r6:c0ac0108 r5:c0abea80 r4:cf141580
[    1.657897] [<c0258e50>] (opp_get_voltage+0x0/0xc0) from [<c02e4908>] (omap_target+0xb0/0x3b4)
[    1.666900]  r5:c0ac0108 r4:000493e0
[    1.670654] [<c02e4858>] (omap_target+0x0/0x3b4) from [<c02dfdf8>] (__cpufreq_driver_target+0x5c/0x94)
[    1.680419] [<c02dfd9c>] (__cpufreq_driver_target+0x0/0x94) from [<c02e2810>] (cpufreq_governor_userspace+0x194/0x22c)
[    1.691589]  r6:c059d870 r5:00000000 r4:cf159900
[    1.696472] [<c02e267c>] (cpufreq_governor_userspace+0x0/0x22c) from [<c02dfeac>] (__cpufreq_governor+0x7c/0x118)
[    1.707183]  r7:c05ac550 r6:00000003 r5:cf159900 r4:cf02be08
[    1.713134] [<c02dfe30>] (__cpufreq_governor+0x0/0x118) from [<c02e013c>] (__cpufreq_set_policy+0x1c8/0x280)
[    1.723419]  r6:00000000 r5:cf159900 r4:cf02be08 r3:00000000
[    1.729370] [<c02dff74>] (__cpufreq_set_policy+0x0/0x280) from [<c02e0c24>] (cpufreq_add_dev_interface+0x1a4/0x238)
[    1.740295]  r8:c0abffc4 r7:cf159900 r6:00000000 r5:cf159960 r4:c059dd94
[    1.747344] [<c02e0a80>] (cpufreq_add_dev_interface+0x0/0x238) from [<c02e1600>] (cpufreq_add_dev+0x184/0x288)
[    1.757812] [<c02e147c>] (cpufreq_add_dev+0x0/0x288) from [<c0251710>] (sysdev_driver_register+0xb8/0x13c)
[    1.767913] [<c0251658>] (sysdev_driver_register+0x0/0x13c) from [<c02e0780>] (cpufreq_register_driver+0x8c/0x198)
[    1.778717]  r8:00000000 r7:c05ac550 r6:c05ae240 r5:c0abffc4 r4:c059dd48
[    1.785797] [<c02e06f4>] (cpufreq_register_driver+0x0/0x198) from [<c053ea7c>] (omap_cpufreq_init+0x90/0xb4)
[    1.796081]  r7:cf02a000 r6:c05ae240 r5:c055108c r4:c0ac0108
[    1.802001] [<c053e9ec>] (omap_cpufreq_init+0x0/0xb4) from [<c0008784>] (do_one_initcall+0x128/0x1ac)
[    1.811645]  r4:c0550fac r3:00000000
[    1.815429] [<c000865c>] (do_one_initcall+0x0/0x1ac) from [<c051c8a0>] (kernel_init+0x84/0x120)
[    1.824554] [<c051c81c>] (kernel_init+0x0/0x120) from [<c0045d80>] (do_exit+0x0/0x6dc)
[    1.832824]  r5:c051c81c r4:00000000
[    1.844116] cpuidle: using governor ladder
[    1.852935] cpuidle: using governor menu