NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: port-evbarm/54688: aarch64 softint hang, reentrancy problem?



The following reply was made to PR port-evbarm/54688; it has been noted by GNATS.

From: matthew green <mrg%eterna.com.au@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: port-evbarm-maintainer%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
    netbsd-bugs%netbsd.org@localhost
Subject: re: port-evbarm/54688: aarch64 softint hang, reentrancy problem?
Date: Mon, 11 Nov 2019 13:48:50 +1100

 i think this problem is more than just from the idle loop.
 
 i've been able to reproduce this problem fairly easily with my
 rock64 and the builtin awge(4) when using non-NET_MPSAFE kernels with
 the MPSAFE interrupt handling also disabled in the fdt frontend.
 
 for me, the symptoms are usually pretty consistently:
 
 	- some thread, maybe user, maybe idle, maybe soft clock
 	  or maybe soft bio is running.
 
 	- it gets fast softint switched to the softnet lwp.  this
 	  runs for a bit..
 
 	- it gets fast softint switched to the softclock lwp.
 	  this hangs attempting to take the kernel_lock.
 
 however, i've never determined why the kernel_lock isn't free
 or where it is held from.
 
 i think it's related to fast softint switching.  note that when
 fast softints are active, you end up with stack traces that have
 all relevant threads in them.  eg, above i see:
 
    - few frames of softclock
    - exception
    - few frames of softnet
    - exception
    - frames of whatever was running normally here
 
 in the stack of the original lwp, and trying to trace the other
 lwps, will stop at their start (eg, softnet thread shows the
 first 3 parts above, and softclock only shows 1 part.)
 
 
 .mrg.
 


Home | Main Index | Thread Index | Old Index