AnsweredAssumed Answered

fsl-qdma panic with Linux RAID5 on LS1046A

Question asked by Zhiming Zhou on Mar 7, 2019
Latest reply on Mar 15, 2019 by Yiping Wang

Hi:

 

I'm using Layerscape LSDK 18.12 version Linux 4.14.83 kernel on LS1046A board,

fsl-qdma is enabled in kernel config with async memcpy and async xor,

while I really hope fsl-qdma could improve MD RAID I/O performance.

 

I create a MD raid5 array with 3 disks:

 

mdadm -CRf /dev/md0 --assume-clean -l5 -n3 /dev/sd[b-d]

 

then directly format raid5 array device:

 

mkfs.xfs /dev/md0

 

Wait a while, then I got kernel DMA error:

 

fsl-qdma 8380000.qdma: dma_sync_wait: timeout!
Kernel panic - not syncing: async_tx_quiesce: DMA error waiting for transaction
CPU: 1 PID: 3585 Comm: md0_raid5 Not tainted 4.14.83-qoriq #1
Hardware name: LS1046A RDB Board (DT)
Call trace:
[<ffff000008089d08>] dump_backtrace+0x0/0x378
[<ffff00000808a094>] show_stack+0x14/0x20
[<ffff000008700208>] dump_stack+0x9c/0xbc
[<ffff0000080ab5b0>] panic+0x11c/0x274
[<ffff0000007db314>] async_tx_quiesce+0x64/0x78 [async_tx]
[<ffff0000007e336c>] async_xor+0x36c/0x4f8 [async_xor]
[<ffff000000806e5c>] raid5_set_cache_size+0x316c/0x41f0 [raid456]
[<ffff00000080c610>] raid5_get_active_stripe+0x23d0/0x4e90 [raid456]
[<ffff00000080e164>] raid5_get_active_stripe+0x3f24/0x4e90 [raid456]
[<ffff00000080e58c>] raid5_get_active_stripe+0x434c/0x4e90 [raid456]
[<ffff000000784258>] md_register_thread+0x1f8/0x258 [md_mod]
[<ffff0000080c9d9c>] kthread+0x12c/0x130
[<ffff00000808508c>] ret_from_fork+0x10/0x1c

 

mkfs.xfs works totally fine if I disable fsl-qdma in kernel config or device tree.

 

I also tried LSDK 18.06 kernel, this fsl-qdma bug also exists.

 

Thanks

Outcomes