Fixed
Created: Jan 18, 2015
Updated: Dec 3, 2018
Resolved Date: Jan 20, 2015
Found In Version: 6.0
Fix Version: 6.0.0.17
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: BSP - Async
root@localhost:/opt/wr-test/testcases/bts/qman_kern_selftest# modprobe qman_tester
qman_tester: module is from the staging directory, the quality is unknown, you have been warned.
qman_test_hotpotato starting
Creating 2 handlers per cpu...
Number of cpus: 2, total of 4 handlers
BUG: sleeping function called from invalid context at /fsl-p50xx/bts-rt/bitbake_build/tmp/work/fsl_p50xx-wrs-linux/linux-windriver/3.10-r0/linux/kernel/rtmutex.c:797
in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
Preemption disabled at:[< (null)>] (null)
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 3.10.62-ltsi-rt55-WR6.0.0.0_preempt-rt #2
Call Trace:
[c000000000f0f310] [c000000000009740] .show_stack+0x170/0x290 (unreliable)
[c000000000f0f400] [c000000000ab89e0] .dump_stack+0x28/0x3c
[c000000000f0f470] [c0000000000a7548] .__might_sleep+0x158/0x1c0
[c000000000f0f500] [c000000000aac8d0] .rt_spin_lock+0x30/0x90
[c000000000f0f580] [c0000000005216e4] .debug_dma_mapping_error+0x64/0x100
[c000000000f0f620] [c000000000522584] .debug_dma_map_page+0x74/0x1d0
[c000000000f0f6e0] [c0000000008e2f6c] .qman_init_fq+0x26c/0x7b0
[c000000000f0f7b0] [800000000019447c] .init_handler+0xec/0x190 [qman_tester]
[c000000000f0f870] [c0000000000d6d08] .generic_smp_call_function_single_interrupt+0x158/0x210
[c000000000f0f920] [c000000000022758] .smp_ipi_demux+0xb8/0x100
[c000000000f0f9b0] [c00000000001f824] .doorbell_exception+0xa4/0xd8
[c000000000f0fa40] [c00000000001c9e8] exc_0x280_common+0xfc/0x100
--- Exception: 281 at .book3e_idle+0x24/0x4c
LR = .book3e_idle+0x24/0x4c
[c000000000f0fd30] [c00000000000b4fc] .arch_cpu_idle+0x3c/0xb0 (unreliable)
[c000000000f0fda0] [c0000000000c3a34] .cpu_startup_entry+0x1f4/0x390
[c000000000f0fe70] [c000000000001bcc] .rest_init+0xac/0xc0
[c000000000f0fef0] [c000000000ce6970] .start_kernel+0x4ac/0x4c8
[c000000000f0ff90] [c000000000000480] .start_here_common+0x24/0xa4
Sending first frame
Received final (8th) frame
qman_test_hotpotato finished
qman_test_high starting
VDQCR (till-empty);
VDQCR (4 of 10);
VDQCR (6 of 10);
scheduled dequeue (till-empty)
Retirement message received
qman_test_high finished
[ 688.913752] qman_tester: module is from the staging directory, the quality is unknown, you have been warned.
[ 688.922829] qman_test_hotpotato starting
[ 688.925686] Creating 2 handlers per cpu...
[ 688.979513] Number of cpus: 2, total of 4 handlers
[ 688.983037] BUG: sleeping function called from invalid context at /fsl-p50xx/bts-rt/bitbake_build/tmp/work/fsl_p50xx-wrs-linux/linux-windriver/3.10-r0/linux/kernel/rtmutex.c:797
[ 688.983038] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
[ 688.983041] Preemption disabled at:[< (null)>] (null)
[ 688.983045] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 3.10.62-ltsi-rt55-WR6.0.0.0_preempt-rt #2
[ 688.983047] Call Trace:
[ 688.983056] [c000000000f0f310] [c000000000009740] .show_stack+0x170/0x290 (unreliable)
[ 688.983063] [c000000000f0f400] [c000000000ab89e0] .dump_stack+0x28/0x3c
[ 688.983068] [c000000000f0f470] [c0000000000a7548] .__might_sleep+0x158/0x1c0
[ 688.983070] [c000000000f0f500] [c000000000aac8d0] .rt_spin_lock+0x30/0x90
[ 688.983077] [c000000000f0f580] [c0000000005216e4] .debug_dma_mapping_error+0x64/0x100
[ 688.983080] [c000000000f0f620] [c000000000522584] .debug_dma_map_page+0x74/0x1d0
[ 688.983087] [c000000000f0f6e0] [c0000000008e2f6c] .qman_init_fq+0x26c/0x7b0
[ 688.983095] [c000000000f0f7b0] [800000000019447c] .init_handler+0xec/0x190 [qman_tester]
[ 688.983102] [c000000000f0f870] [c0000000000d6d08] .generic_smp_call_function_single_interrupt+0x158/0x210
[ 688.983110] [c000000000f0f920] [c000000000022758] .smp_ipi_demux+0xb8/0x100
[ 688.983113] [c000000000f0f9b0] [c00000000001f824] .doorbell_exception+0xa4/0xd8
[ 688.983116] [c000000000f0fa40] [c00000000001c9e8] exc_0x280_common+0xfc/0x100
[ 688.983120] --- Exception: 281 at .book3e_idle+0x24/0x4c
LR = .book3e_idle+0x24/0x4c
[ 688.983123] [c000000000f0fd30] [c00000000000b4fc] .arch_cpu_idle+0x3c/0xb0 (unreliable)
[ 688.983129] [c000000000f0fda0] [c0000000000c3a34] .cpu_startup_entry+0x1f4/0x390
[ 688.983131] [c000000000f0fe70] [c000000000001bcc] .rest_init+0xac/0xc0
[ 688.983136] [c000000000f0fef0] [c000000000ce6970] .start_kernel+0x4ac/0x4c8
[ 688.983138] [c000000000f0ff90] [c000000000000480] .start_here_common+0x24/0xa4
[ 688.983177] Sending first frame
[ 688.985463] Received final (8th) frame
[ 689.169515] qman_test_hotpotato finished
[ 689.172126] qman_test_high starting
[ 689.174350] VDQCR (till-empty);
[ 689.176271] VDQCR (4 of 10);
[ 689.177917] VDQCR (6 of 10);
[ 689.179720] scheduled dequeue (till-empty)
[ 689.182582] Retirement message received
[ 689.185113] qman_test_high finished
root@localhost:/opt/wr-test/testcases/bts/qman_kern_selftest# diff -uN .dmesgold .dmesgnew |sed -n "/^+/p"
+++ .dmesgnew 2015-01-19 07:45:34.179138000 +0000
+[ 688.913752] qman_tester: module is from the staging directory, the quality is unknown, you have been warned.
+[ 688.922829] qman_test_hotpotato starting
+[ 688.925686] Creating 2 handlers per cpu...
+[ 688.979513] Number of cpus: 2, total of 4 handlers
+[ 688.983037] BUG: sleeping function called from invalid context at /fsl-p50xx/bts-rt/bitbake_build/tmp/work/fsl_p50xx-wrs-linux/linux-windriver/3.10-r0/linux/kernel/rtmutex.c:797
+[ 688.983038] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
+[ 688.983041] Preemption disabled at:[< (null)>] (null)
+
+[ 688.983045] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 3.10.62-ltsi-rt55-WR6.0.0.0_preempt-rt #2
+[ 688.983047] Call Trace:
+[ 688.983056] [c000000000f0f310] [c000000000009740] .show_stack+0x170/0x290 (unreliable)
+[ 688.983063] [c000000000f0f400] [c000000000ab89e0] .dump_stack+0x28/0x3c
+[ 688.983068] [c000000000f0f470] [c0000000000a7548] .__might_sleep+0x158/0x1c0
+[ 688.983070] [c000000000f0f500] [c000000000aac8d0] .rt_spin_lock+0x30/0x90
+[ 688.983077] [c000000000f0f580] [c0000000005216e4] .debug_dma_mapping_error+0x64/0x100
+[ 688.983080] [c000000000f0f620] [c000000000522584] .debug_dma_map_page+0x74/0x1d0
+[ 688.983087] [c000000000f0f6e0] [c0000000008e2f6c] .qman_init_fq+0x26c/0x7b0
+[ 688.983095] [c000000000f0f7b0] [800000000019447c] .init_handler+0xec/0x190 [qman_tester]
+[ 688.983102] [c000000000f0f870] [c0000000000d6d08] .generic_smp_call_function_single_interrupt+0x158/0x210
+[ 688.983110] [c000000000f0f920] [c000000000022758] .smp_ipi_demux+0xb8/0x100
+[ 688.983113] [c000000000f0f9b0] [c00000000001f824] .doorbell_exception+0xa4/0xd8
+[ 688.983116] [c000000000f0fa40] [c00000000001c9e8] exc_0x280_common+0xfc/0x100
+[ 688.983120] --- Exception: 281 at .book3e_idle+0x24/0x4c
+ LR = .book3e_idle+0x24/0x4c
+[ 688.983123] [c000000000f0fd30] [c00000000000b4fc] .arch_cpu_idle+0x3c/0xb0 (unreliable)
+[ 688.983129] [c000000000f0fda0] [c0000000000c3a34] .cpu_startup_entry+0x1f4/0x390
+[ 688.983131] [c000000000f0fe70] [c000000000001bcc] .rest_init+0xac/0xc0
+[ 688.983136] [c000000000f0fef0] [c000000000ce6970] .start_kernel+0x4ac/0x4c8
+[ 688.983138] [c000000000f0ff90] [c000000000000480] .start_here_common+0x24/0xa4
+[ 688.983177] Sending first frame
+[ 688.985463] Received final (8th) frame
+[ 689.169515] qman_test_hotpotato finished
+[ 689.172126] qman_test_high starting
+[ 689.174350] VDQCR (till-empty);
+[ 689.176271] VDQCR (4 of 10);
+[ 689.177917] VDQCR (6 of 10);
+[ 689.179720] scheduled dequeue (till-empty)
+[ 689.182582] Retirement message received
+[ 689.185113] qman_test_high finished
root@localhost:/opt/wr-test/testcases/bts/qman_kern_selftest# lsmod |grep qman_tester
qman_tester 13233 0
root@localhost:/opt/wr-test/testcases/bts/qman_kern_selftest# modprobe -r qman_tester
<<end Do QMAN Kern selftest>>
********************
<<start check testcase call trace>>
********************
root@localhost:/opt/wr-test/testcases/bts/qman_kern_selftest# dmesg |grep -w -E -B10 -A50 'Call Trace|BUG:' ||exit 0
[ 687.794305] kmemleak: 25 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
[ 688.913752] qman_tester: module is from the staging directory, the quality is unknown, you have been warned.
[ 688.922829] qman_test_hotpotato starting
[ 688.925686] Creating 2 handlers per cpu...
[ 688.979513] Number of cpus: 2, total of 4 handlers
[ 688.983037] BUG: sleeping function called from invalid context at /fsl-p50xx/bts-rt/bitbake_build/tmp/work/fsl_p50xx-wrs-linux/linux-windriver/3.10-r0/linux/kernel/rtmutex.c:797
[ 688.983038] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
[ 688.983041] Preemption disabled at:[< (null)>] (null)
[ 688.983045] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 3.10.62-ltsi-rt55-WR6.0.0.0_preempt-rt #2
[ 688.983047] Call Trace:
[ 688.983056] [c000000000f0f310] [c000000000009740] .show_stack+0x170/0x290 (unreliable)
[ 688.983063] [c000000000f0f400] [c000000000ab89e0] .dump_stack+0x28/0x3c
[ 688.983068] [c000000000f0f470] [c0000000000a7548] .__might_sleep+0x158/0x1c0
[ 688.983070] [c000000000f0f500] [c000000000aac8d0] .rt_spin_lock+0x30/0x90
[ 688.983077] [c000000000f0f580] [c0000000005216e4] .debug_dma_mapping_error+0x64/0x100
[ 688.983080] [c000000000f0f620] [c000000000522584] .debug_dma_map_page+0x74/0x1d0
[ 688.983087] [c000000000f0f6e0] [c0000000008e2f6c] .qman_init_fq+0x26c/0x7b0
[ 688.983095] [c000000000f0f7b0] [800000000019447c] .init_handler+0xec/0x190 [qman_tester]
[ 688.983102] [c000000000f0f870] [c0000000000d6d08] .generic_smp_call_function_single_interrupt+0x158/0x210
[ 688.983110] [c000000000f0f920] [c000000000022758] .smp_ipi_demux+0xb8/0x100
[ 688.983113] [c000000000f0f9b0] [c00000000001f824] .doorbell_exception+0xa4/0xd8
[ 688.983116] [c000000000f0fa40] [c00000000001c9e8] exc_0x280_common+0xfc/0x100
[ 688.983120] --- Exception: 281 at .book3e_idle+0x24/0x4c
LR = .book3e_idle+0x24/0x4c
[ 688.983123] [c000000000f0fd30] [c00000000000b4fc] .arch_cpu_idle+0x3c/0xb0 (unreliable)
[ 688.983129] [c000000000f0fda0] [c0000000000c3a34] .cpu_startup_entry+0x1f4/0x390
[ 688.983131] [c000000000f0fe70] [c000000000001bcc] .rest_init+0xac/0xc0
[ 688.983136] [c000000000f0fef0] [c000000000ce6970] .start_kernel+0x4ac/0x4c8
[ 688.983138] [c000000000f0ff90] [c000000000000480] .start_here_common+0x24/0xa4
[ 688.983177] Sending first frame
[ 688.985463] Received final (8th) frame
[ 689.169515] qman_test_hotpotato finished
[ 689.172126] qman_test_high starting
[ 689.174350] VDQCR (till-empty);
[ 689.176271] VDQCR (4 of 10);
[ 689.177917] VDQCR (6 of 10);
[ 689.179720] scheduled dequeue (till-empty)
[ 689.182582] Retirement message received
[ 689.185113] qman_test_high finished
/wrlinux-6/wrlinux/configure --enable-board=fsl-p50xx --enable-kernel=preempt-rt --enable-rootfs=glibc-std --enable-test=yes --with-layer=/wrlinux/wr-testing/bts-dev --with-template=feature/bts,feature/qoriq-debug --enable-reconfig=yes --enable-parallel-pkgbuilds=8 --enable-jobs=8 --with-rcpl-version=0
Kernel config enabled by the testing layer:
CONFIG_DMATEST=m
CONFIG_DMA_API_DEBUG=y
CONFIG_MTD_TESTS=m
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1000
CONFIG_E1000E=y
CONFIG_FSL_BMAN_TEST=m
CONFIG_FSL_QMAN_TEST=m
To reproduce it:
/opt/wr-test/testcases/bts/qman_kern_selftest/runtest.sh