[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>
Cc: port-evbarm-maintainer%netbsd.org@localhost, gnats-admin%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
- few frames of softnet
- 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.)
Main Index |
Thread Index |