NetBSD-Bugs archive

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

port-powerpc/56922: fast softints are broken on powerpc

>Number:         56922
>Category:       port-powerpc
>Synopsis:       fast softints are broken on powerpc
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-powerpc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 11 09:35:00 +0000 2022
>Originator:     Martin Husemann
>Release:        NetBSD 9.99.98
The NetBSD Foundation, Inc.
System: NetBSD 9.99.98 NetBSD 9.99.98 (POWERMAC_G5.MP) #58: Wed Jun 29 19:47:47 CEST 2022 macppc
Architecture: powerpc
Machine: macppc

On high load powerpc machienes get into a strange state where everything
grinds to a halt and no new process (or only a few) can be created before
total lockup.

One way to trigger it (but not 100% reliable) is:

	cd /usr/tests/lib/librumpclient
	atf-run t_exec | atf-report

When the test does not complete, ddb often sees artifacts like this:

db{0} ps
0    > 115 7   1       200           10428680          nd6_timer
db{0}> bt/a 10428680                   
trace: pid 0 lid 115 at 0x10423c20     
0x10423c80: at softint_fast_dispatch+0x40  
0x10423ca0: at kernconfig_recurse+0x10 
0x10423cf0: at kernconfig_recurse+0x10
0x10423d10: at cpu_info+0xa7c
0x10423d20: at callout_hardclock+0x28
0x10423d40: at decr_intr+0x174
0x10423d70: at trapstart+0x800
0x10423e40: at cpu_info+0xa7c
0x10423e80: at nd6_timer_work+0x64
0x10423ee0: at workqueue_worker+0x134

and disabling fast softints makes the kernel perfectly stable and avoids
the problem.


Home | Main Index | Thread Index | Old Index