Received: by mail.netbsd.org (Postfix, from userid 605) id 2A89E84ED6; Sat, 2 Dec 2017 00:48:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id A5D1384EA8 for ; Sat, 2 Dec 2017 00:48:05 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 64FYiNJlelrA for ; Sat, 2 Dec 2017 00:48:05 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 45D9E84CD9 for ; Sat, 2 Dec 2017 00:48:05 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 3FDFAFB40; Sat, 2 Dec 2017 00:48:05 +0000 (UTC) Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" MIME-Version: 1.0 Date: Sat, 2 Dec 2017 00:48:05 +0000 From: "Michael Lorenz" Subject: CVS commit: src/sys/arch/sparc To: source-changes@NetBSD.org X-Mailer: log_accum Message-Id: <20171202004805.3FDFAFB40@cvs.NetBSD.org> Sender: source-changes-owner@NetBSD.org List-Id: source-changes.NetBSD.org Precedence: bulk Reply-To: source-changes-d@NetBSD.org Mail-Reply-To: "Michael Lorenz" Mail-Followup-To: source-changes-d@NetBSD.org List-Unsubscribe: Module Name: src Committed By: macallan Date: Sat Dec 2 00:48:05 UTC 2017 Modified Files: src/sys/arch/sparc/include: cpu.h src/sys/arch/sparc/sparc: cpu.c intr.c Log Message: - return early in xcall() if the function is sparc_noop() instead of triggering the IPI and then ignoring responses ( or lack thereof ) - write the .tag field last to avoid a race when polling for an incoming IPI - add event counters for IPIs being caught with the mutex not held, and for messages that are already marked as completed With this my SS20 made it through 48 hours of pkgsrc with MAKE_JOBS=3 and a pair of SM81s. Hypersparcs still crash but instead of craziness we get actual error messages, apparently one CPU will occasionally do a watchdog reset, which according to the manual is caused by catching a trap with traps disabled. Now to figure out how that can even happen... To generate a diff of this commit: cvs rdiff -u -r1.98 -r1.99 src/sys/arch/sparc/include/cpu.h cvs rdiff -u -r1.249 -r1.250 src/sys/arch/sparc/sparc/cpu.c cvs rdiff -u -r1.118 -r1.119 src/sys/arch/sparc/sparc/intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.