Subject: question about fix for PR#26383
To: NetBSD port-alpha List <port-alpha@NetBSD.org>
From: Greg A. Woods <woods@planix.com>
List: port-alpha
Date: 10/08/2005 19:25:33
--pgp-sign-Multipart_Sat_Oct__8_19:25:32_2005-1
Content-Type: text/plain; charset=US-ASCII

I've been looking at the patches for PR#26383 (updating my 1.6.x tree :-)),
and I've got a question about the 1.287 change to machdep.c.

Specifically I'm wondering why there's no call to "splx(s)" after the
final two invocations of the FPCPU_UNLOCK() macro in fpusave_proc().

After a very casual look at fpusave_proc()'s callers it would seem to me
the following change may still be necessary, though I must admit I've
not looked very hard to see if there might still be some other place
where interrupts are restored:

Index: machdep.c
===================================================================
RCS file: /cvs/master/m-NetBSD/main/src/sys/arch/alpha/alpha/machdep.c,v
retrieving revision 1.287
diff -u -r1.287 machdep.c
--- machdep.c	28 Jul 2005 13:57:06 -0000	1.287
+++ machdep.c	8 Oct 2005 23:23:28 -0000
@@ -1777,6 +1777,7 @@
 	KASSERT(oci->ci_fpcurlwp == l);
 	alpha_send_ipi(oci->ci_cpuid, ipi);
 	FPCPU_UNLOCK(&l->l_addr->u_pcb);
+	splx(s);			/* ?????  not done in fix for PR#26383 */
 
 	spincount = 0;
 	while (l->l_addr->u_pcb.pcb_fpcpu != NULL) {
@@ -1788,6 +1789,7 @@
 #else
 	KASSERT(ci->ci_fpcurlwp == l);
 	FPCPU_UNLOCK(&l->l_addr->u_pcb);
+	splx(s);			/* ?????  not done in fix for PR#26383 */
 	fpusave_cpu(ci, save);
 #endif /* MULTIPROCESSOR */
 }


-- 
						Greg A. Woods

H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>

--pgp-sign-Multipart_Sat_Oct__8_19:25:32_2005-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
MessageID: pzZkZvUxIIxwu6fDJum8pyC4y/yjzR2Y

iQA/AwUBQ0hVbWZ9cbd4v/R/EQL+cQCfeX/bllnxVGQnotXonJPOI4F2qNsAn1EU
i9YsYYJo9fRSR1b+C8rkUIAX
=Kef+
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Sat_Oct__8_19:25:32_2005-1--