NetBSD Problem Report #56922

From martin@aprisoft.de  Mon Jul 11 09:32:23 2022
Return-Path: <martin@aprisoft.de>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id B654A1A921F
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 11 Jul 2022 09:32:23 +0000 (UTC)
Message-Id: <20220711093214.322A45CC827@emmas.aprisoft.de>
Date: Mon, 11 Jul 2022 11:32:14 +0200 (CEST)
From: martin@NetBSD.org
Reply-To: martin@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: fast softints are broken on powerpc
X-Send-Pr-Version: 3.95

>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
>Last-Modified:  Mon Oct 09 13:40:02 +0000 2023
>Originator:     Martin Husemann
>Release:        NetBSD 9.99.98
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD big-apple.aprisoft.de 9.99.98 NetBSD 9.99.98 (POWERMAC_G5.MP) #58: Wed Jun 29 19:47:47 CEST 2022 martin@seven-days-to-the-wolves.aprisoft.de:/work/src/sys/arch/macppc/compile/POWERMAC_G5.MP macppc
Architecture: powerpc
Machine: macppc
>Description:

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.

>How-To-Repeat:
s/a
>Fix:
n/a

>Audit-Trail:
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56922 CVS commit: src/sys/arch/powerpc/include
Date: Mon, 11 Jul 2022 09:39:10 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Jul 11 09:39:10 UTC 2022

 Modified Files:
 	src/sys/arch/powerpc/include: intr.h

 Log Message:
 PR 56922: disabel fast softints for powerpc for now.


 To generate a diff of this commit:
 cvs rdiff -u -r1.18 -r1.19 src/sys/arch/powerpc/include/intr.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-powerpc/56922: fast softints are broken on powerpc
Date: Tue, 19 Jul 2022 12:08:42 +0200

 Unfortunately more intensive testing shows that disabling
 fast softints does not avoid the issue completely, just makes it
 less likely.

 So it seems it is not *fast* softints that are broken, but softints in
 general.

 Martin

From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56922 CVS commit: src/sys/arch/powerpc/include/booke
Date: Mon, 12 Sep 2022 08:14:55 +0000

 Module Name:	src
 Committed By:	rin
 Date:		Mon Sep 12 08:14:55 UTC 2022

 Modified Files:
 	src/sys/arch/powerpc/include/booke: intr.h

 Log Message:
 PR port-powerpc/56922

 __HAVE_FAST_SOFTINTS is broken for powerpc.
 Disable it temporarily also for booke.


 To generate a diff of this commit:
 cvs rdiff -u -r1.12 -r1.13 src/sys/arch/powerpc/include/booke/intr.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56922 CVS commit: src/sys/arch/powerpc/oea
Date: Mon, 9 Oct 2023 13:01:58 +0000

 Module Name:	src
 Committed By:	rin
 Date:		Mon Oct  9 13:01:58 UTC 2023

 Modified Files:
 	src/sys/arch/powerpc/oea: pmap.c

 Log Message:
 powerpc/oea: pmap: Use pool_allocator_nointr() for pmap_pool

 As done for (majority of) other pmap implementations.

 pmap_pool_allocator() allocates memory below 256MB, but it is not
 necessary for struct pmap.

 Fix part of PR kern/57621, i.e., stall in pmap_create(9).

 There should be another bugs that cause (MP?) kernel hangs
 reported in the PR, in pmap or other MD components for powerpc
 (PR port-powerpc/56922 should be one of the candidates).

 XXX
 pmap for powerpc/oea apparently needs some clean ups. But leave it
 as is, and pull up this minimum fix to netbsd-10 at the moment.


 To generate a diff of this commit:
 cvs rdiff -u -r1.114 -r1.115 src/sys/arch/powerpc/oea/pmap.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56922 CVS commit: [netbsd-10] src/sys/arch/powerpc/oea
Date: Mon, 9 Oct 2023 13:36:59 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Oct  9 13:36:59 UTC 2023

 Modified Files:
 	src/sys/arch/powerpc/oea [netbsd-10]: pmap.c

 Log Message:
 Pull up following revision(s) (requested by rin in ticket #400):

 	sys/arch/powerpc/oea/pmap.c: revision 1.115

 powerpc/oea: pmap: Use pool_allocator_nointr() for pmap_pool

 As done for (majority of) other pmap implementations.
 pmap_pool_allocator() allocates memory below 256MB, but it is not
 necessary for struct pmap.

 Fix part of PR kern/57621, i.e., stall in pmap_create(9).

 There should be another bugs that cause (MP?) kernel hangs
 reported in the PR, in pmap or other MD components for powerpc
 (PR port-powerpc/56922 should be one of the candidates).
 XXX

 pmap for powerpc/oea apparently needs some clean ups. But leave it
 as is, and pull up this minimum fix to netbsd-10 at the moment.


 To generate a diff of this commit:
 cvs rdiff -u -r1.114 -r1.114.4.1 src/sys/arch/powerpc/oea/pmap.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.