Skip site navigation (1)Skip section navigation (2)
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>