Date: Wed, 10 Feb 2010 05:43:31 +0000 (UTC) From: Neel Natu <neel@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/mips/mips exception.S Message-ID: <201002100543.o1A5hrX1052421@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
neel 2010-02-10 05:43:31 UTC
FreeBSD src repository
Modified files:
sys/mips/mips exception.S
Log:
SVN rev 203743 on 2010-02-10 05:43:31Z by neel
Enable interrupts before doing AST processing to avoid a deadlock.
Specifically on an SMP kernel it was observed that if both the
processors are doing an exit1() via ast()->postsig()->sigexit()
then we will deadlock.
This happens because exit1() calls vmspace_exit() that in turn
calls pmap_invalidate_all(). This function tries to do a
smp_rendezvous() which blocks because the other processor is not
responding to IPIs - because it too is doing AST processing with
interrupts disabled.
Revision Changes Path
1.7 +12 -0 src/sys/mips/mips/exception.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002100543.o1A5hrX1052421>
