Wind River Support Network

HomeDefectsLIN6-9266
Fixed

LIN6-9266 : fsl-p50xx qman_kern_selftest have kernel call trace.

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

Description

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

Steps to Reproduce

/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

Other Downloads


Live chat
Online