lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 25 Jun 2024 09:19:37 +0000
From: Jose Abreu <Jose.Abreu@...opsys.com>
To: "Lad, Prabhakar" <prabhakar.csengg@...il.com>,
        Alexandre Torgue
	<alexandre.torgue@...s.st.com>
CC: netdev <netdev@...r.kernel.org>, Jose Abreu <Jose.Abreu@...opsys.com>
Subject: RE: STMMAC driver CPU stall warning

From: Lad, Prabhakar <prabhakar.csengg@...il.com>
Date: Mon, Jun 24, 2024 at 10:25:38

> Hi Alexandre and Jose,
> 
> While integrating the STMMAC driver for the Renesas RZ/V2H SoC I am
> seeing the CPU stall warning when the locking config options are
> enabled. Has anyone seen this issue?
> 
> Platform and Kernel details :
> -------------------------------------
> - Renesas RZ/V2H(P) EVK (ARM64)
> - 6.10.0-rc5
> - IP version, Synopsys ID: 0x52
> 
> With the below locking configs enabled:
> ----------------------------------------------------
> # CONFIG_PER_VMA_LOCK_STATS is not set
> # CONFIG_SOFTLOCKUP_DETECTOR is not set
> CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
> # CONFIG_HARDLOCKUP_DETECTOR is not set
> CONFIG_LOCK_DEBUGGING_SUPPORT=y
> CONFIG_PROVE_LOCKING=y
> # CONFIG_PROVE_RAW_LOCK_NESTING is not set
> # CONFIG_LOCK_STAT is not set
> CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_LOCK_ALLOC=y
> CONFIG_LOCKDEP=y
> CONFIG_LOCKDEP_BITS=15
> CONFIG_LOCKDEP_CHAINS_BITS=16
> CONFIG_LOCKDEP_STACK_TRACE_BITS=19
> CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
> CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
> # CONFIG_DEBUG_LOCKDEP is not set
> # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
> # CONFIG_LOCK_TORTURE_TEST is not set
> # CONFIG_CSD_LOCK_WAIT_DEBUG is not set
> CONFIG_TRACE_CLOCK=y
> 
> [   33.701954] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   33.707776] rcu:     0-....: (1 GPs behind)
> idle=7054/1/0x4000000000000000 softirq=413/414 fqs=2228
> [   33.716693] rcu:     (t=6500 jiffies g=-691 q=65 ncpus=4)
> [   33.721856] CPU: 0 PID: 37 Comm: kworker/u16:1 Not tainted
> 6.10.0-rc5-arm64-renesas-00383-g34de6e9c5801 #495
> [   33.731717] Hardware name: Renesas based on r9a09g057h44 (DT)
> [   33.737833] Workqueue: rpciod rpc_async_schedule
> [   33.742488] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   33.749474] pc : _raw_spin_unlock_irqrestore+0x34/0x68
> [   33.754640] lr : _raw_spin_unlock_irqrestore+0x64/0x68
> [   33.759800] sp : ffff8000828133b0
> [   33.763128] x29: ffff8000828133b0 x28: 0000000000000080 x27: 0000000000000000
> [   33.770304] x26: ffff8000818faa00 x25: ffff0003ee18b200 x24: 0000000000000001
> [   33.777478] x23: ffff0003ee18b180 x22: ffff0003ee18b180 x21: ffff0003ee18b180
> [   33.784653] x20: ffff0003ee18b180 x19: 0000000000000000 x18: 00000000000020e8
> [   33.791827] x17: 344617ab1e4d0a08 x16: 0101000003d71d0f x15: 0000000000000028
> [   33.799002] x14: 000000000000000a x13: 0000000000004d7c x12: 0000000000000000
> [   33.806176] x11: ffff800082540a7c x10: ffff8000814e3cd4 x9 : 0000000000000168
> [   33.813351] x8 : 0000000000000001 x7 : 00000000000000c8 x6 : ffff8000821e6000
> [   33.820524] x5 : 0000000000000000 x4 : 0000000000000009 x3 : 0000000000000000
> [   33.827698] x2 : 0000000000000001 x1 : ffff8000814e3cd0 x0 : 0000000000009384
> [   33.834872] Call trace:
> [   33.837331]  _raw_spin_unlock_irqrestore+0x34/0x68
> [   33.842145]  hrtimer_start_range_ns+0x138/0x314
> [   33.846700]  stmmac_tx_timer_arm+0x88/0x8c
> [   33.850819]  stmmac_xmit+0x778/0xac4
> [   33.854413]  dev_hard_start_xmit+0xcc/0x2d0
> [   33.858618]  sch_direct_xmit+0x88/0x378
> [   33.862477]  __dev_queue_xmit+0x784/0xfc0
> [   33.866506]  ip_finish_output2+0x794/0xac8
> [   33.870627]  __ip_finish_output+0x110/0x27c
> [   33.874831]  ip_output+0x6c/0x278
> [   33.878165]  __ip_queue_xmit+0x194/0x5a0
> [   33.882106]  ip_queue_xmit+0x10/0x18
> [   33.885698]  __tcp_transmit_skb+0x4a8/0xba4
> [   33.889903]  __tcp_send_ack.part.0+0xc8/0x144
> [   33.894280]  tcp_release_cb+0x1ec/0x208
> [   33.898133]  release_sock+0x48/0x9c
> [   33.901642]  tcp_sendmsg+0x44/0x58
> [   33.905063]  inet_sendmsg+0x40/0x64
> [   33.908575]  sock_sendmsg+0x7c/0xe0
> [   33.912085]  xprt_sock_sendmsg+0xdc/0x300
> [   33.916115]  xs_tcp_send_request+0xec/0x240
> [   33.920318]  xprt_transmit+0x1e4/0x5e8
> [   33.924084]  call_transmit+0x7c/0x90
> [   33.927680]  __rpc_execute+0xdc/0x6f8
> [   33.931361]  rpc_async_schedule+0x28/0x40
> [   33.935390]  process_one_work+0x21c/0x620
> [   33.939422]  worker_thread+0x1a8/0x374
> [   33.943190]  kthread+0x10c/0x110
> [   33.946436]  ret_from_fork+0x10/0x20
> [   33.950033] Sending NMI from CPU 0 to CPUs 3:
> [   33.954415] NMI backtrace for cpu 3
> [   33.957929] CPU: 3 PID: 67 Comm: kworker/u16:6 Not tainted
> 6.10.0-rc5-arm64-renesas-00383-g34de6e9c5801 #495
> [   33.967788] Hardware name: Renesas based on r9a09g057h44 (DT)
> [   33.973902] Workqueue: xprtiod xs_stream_data_receive_workfn
> [   33.979591] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   33.986576] pc : queued_spin_lock_slowpath+0x68/0x514
> [   33.991650] lr : do_raw_spin_lock+0xb8/0x104
> [   33.995941] sp : ffff800082fcba70
> [   33.999268] x29: ffff800082fcba70 x28: 0000000000000000 x27: 0000000000000000
> [   34.006441] x26: ffff0000c2966840 x25: 0000000000000000 x24: ffff800081863000
> [   34.013614] x23: ffff0000c0578000 x22: 000000000000000c x21: 0000000000000040
> [   34.020786] x20: ffff8000814e1008 x19: ffff0000c29f0190 x18: 0000000000093930
> [   34.027958] x17: 0019001a00400009 x16: 0038004000000000 x15: 0000000000000000
> [   34.035130] x14: 0000000000000001 x13: ffff0000c2a20080 x12: 0000000000000000
> [   34.042302] x11: ffff800082540a7c x10: ffff8000814e3cd4 x9 : 00000000000000a0
> [   34.049473] x8 : 0000000000000001 x7 : 00000000000000c8 x6 : ffff8000821e6000
> [   34.056645] x5 : f647258a66f2c9bc x4 : ffff8000821ad9e0 x3 : 0000000000000000
> [   34.063815] x2 : ffff80036cd00000 x1 : 0000000000000000 x0 : 0000000000000001
> [   34.070987] Call trace:
> [   34.073444]  queued_spin_lock_slowpath+0x68/0x514
> [   34.078169]  do_raw_spin_lock+0xb8/0x104
> [   34.082110]  _raw_spin_lock_bh+0x54/0x60
> [   34.086051]  lock_sock_nested+0x3c/0x84
> [   34.089905]  tcp_recvmsg+0x5c/0x1c0
> [   34.093412]  inet_recvmsg+0x60/0x244
> [   34.097007]  sock_recvmsg+0x2c/0x6c
> [   34.100515]  xs_read_stream.constprop.0+0xb0/0x4e0
> [   34.105327]  xs_stream_data_receive_workfn+0x54/0x1b4
> [   34.110398]  process_one_work+0x21c/0x620
> [   34.114427]  worker_thread+0x1a8/0x374
> [   34.118194]  kthread+0x10c/0x110
> [   34.121438]  ret_from_fork+0x10/0x20
> [   68.470538] random: crng init done
> 
> Below is the dmesg logs for gbeth:
> ----------------------------------------------
> [    1.611307] renesas-gbeth 15c30000.ethernet: IRQ sfty not found
> [    1.626475] renesas-gbeth 15c30000.ethernet: User ID: 0x1, Synopsys ID: 0x52
> [    1.633615] renesas-gbeth 15c30000.ethernet:         DWMAC4/5
> [    1.638809] renesas-gbeth 15c30000.ethernet: DMA HW capability
> register supported
> [    1.646351] renesas-gbeth 15c30000.ethernet: RX Checksum Offload
> Engine supported
> [    1.653904] renesas-gbeth 15c30000.ethernet: Wake-Up On Lan supported
> [    1.660516] renesas-gbeth 15c30000.ethernet: Enable RX Mitigation
> via HW Watchdog Timer
> [    1.668584] renesas-gbeth 15c30000.ethernet: Enabled L3L4 Flow TC (entries=8)
> [    1.675782] renesas-gbeth 15c30000.ethernet: Enabled RFS Flow TC (entries=10)
> [    1.682979] renesas-gbeth 15c30000.ethernet: Using 32/32 bits DMA
> host/device width
> [    1.698226] renesas-gbeth 15c40000.ethernet: IRQ sfty not found
> [    1.713295] renesas-gbeth 15c40000.ethernet: User ID: 0x0, Synopsys ID: 0x52
> [    1.720432] renesas-gbeth 15c40000.ethernet:         DWMAC4/5
> [    1.725637] renesas-gbeth 15c40000.ethernet: DMA HW capability
> register supported
> [    1.733179] renesas-gbeth 15c40000.ethernet: RX Checksum Offload
> Engine supported
> [    1.740720] renesas-gbeth 15c40000.ethernet: Wake-Up On Lan supported
> [    1.747327] renesas-gbeth 15c40000.ethernet: Enable RX Mitigation
> via HW Watchdog Timer
> [    1.755408] renesas-gbeth 15c40000.ethernet: device MAC address
> ba:91:02:27:30:8f
> [    1.762977] renesas-gbeth 15c40000.ethernet: Enabled L3L4 Flow TC (entries=8)
> [    1.770185] renesas-gbeth 15c40000.ethernet: Enabled RFS Flow TC (entries=10)
> [    1.777382] renesas-gbeth 15c40000.ethernet: Using 32/32 bits DMA
> host/device width
> [    2.240115] renesas-gbeth 15c30000.ethernet eth0: Register
> MEM_TYPE_PAGE_POOL RxQ-0
> [    2.248621] renesas-gbeth 15c30000.ethernet eth0: Register
> MEM_TYPE_PAGE_POOL RxQ-1
> [    2.257069] renesas-gbeth 15c30000.ethernet eth0: Register
> MEM_TYPE_PAGE_POOL RxQ-2
> [    2.265151] renesas-gbeth 15c30000.ethernet eth0: Register
> MEM_TYPE_PAGE_POOL RxQ-3
> [    2.341611] renesas-gbeth 15c30000.ethernet eth0: PHY [stmmac-0:00]
> driver [Microchip KSZ9131 Gigabit PHY] (irq=POLL)
> [    2.357928] renesas-gbeth 15c30000.ethernet eth0: No Safety
> Features support found
> [    2.365581] renesas-gbeth 15c30000.ethernet eth0: IEEE 1588-2008
> Advanced Timestamp supported
> [    2.375086] renesas-gbeth 15c30000.ethernet eth0: registered PTP clock
> [    2.382575] renesas-gbeth 15c30000.ethernet eth0: configuring for
> phy/rgmii-id link mode
> [    2.400349] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-0
> [    2.409133] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-1
> [    2.417244] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-2
> [    2.425629] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-3
> [    2.466041] renesas-gbeth 15c40000.ethernet eth1: PHY [stmmac-1:00]
> driver [Microchip KSZ9131 Gigabit PHY] (irq=POLL)
> [    2.482310] renesas-gbeth 15c40000.ethernet eth1: No Safety
> Features support found
> [    2.489977] renesas-gbeth 15c40000.ethernet eth1: IEEE 1588-2008
> Advanced Timestamp supported
> [    2.499184] renesas-gbeth 15c40000.ethernet eth1: registered PTP clock
> [    2.506662] renesas-gbeth 15c40000.ethernet eth1: configuring for
> phy/rgmii-id link mode
> [    6.498736] renesas-gbeth 15c30000.ethernet eth0: Link is Up -
> 1Gbps/Full - flow control rx/tx
> [   73.941601] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-0
> [   73.954665] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-1
> [   73.963942] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-2
> [   73.976780] renesas-gbeth 15c40000.ethernet eth1: Register
> MEM_TYPE_PAGE_POOL RxQ-3
> [   74.066033] renesas-gbeth 15c40000.ethernet eth1: PHY [stmmac-1:00]
> driver [Microchip KSZ9131 Gigabit PHY] (irq=POLL)
> [   74.086068] renesas-gbeth 15c40000.ethernet eth1: No Safety
> Features support found
> [   74.098223] renesas-gbeth 15c40000.ethernet eth1: IEEE 1588-2008
> Advanced Timestamp supported
> [   74.102485] renesas-gbeth 15c40000.ethernet eth1: registered PTP clock
> [   74.122445] renesas-gbeth 15c40000.ethernet eth1: configuring for
> phy/rgmii-id link mode
> 
> Please let me know if you need me to try anything or provide more
> debug information.

Can you also share the relevant DT bindings?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ