Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jun 1998 04:40:01 -0700 (PDT)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: i386/6944: bug in i386/isa/icu_ipl.s - AST gets lost, causes extreme network slowdown when cpu-bound processes present, possibly other problems
Message-ID:  <199806141140.EAA11451@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

The following reply was made to PR i386/6944; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: dillon@backplane.com, FreeBSD-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: i386/6944: bug in i386/isa/icu_ipl.s - AST gets lost, causes extreme network slowdown when cpu-bound processes present, possibly other problems
Date: Sun, 14 Jun 1998 21:38:02 +1000

 >	The problem is in icu_ipl.s.  The situation:
 >
 >	    cmpl	$SWI_AST,%ecx
 >     	    je		splz_nextx		/* "can't happen" */
 >
 >	Actually can happen.  I'm not exactly sure how it happens, but the
 >	result is that that AST gets cleared from ipending without being run.
 
 It "can't happen" because SWI_AST_MASK is "always" set in `cpl' until
 the kernel is about to return to user mode.  Something must be clearing
 SWI_AST_MASK in `cpl' or in the cpl to be "restored".  The typo spl(0)
 instead of spl0() would do this.  Please look for whatever does it.
 This may be as simple as looking at the stack trace to see spl(0) and
 verifying that SWI_AST_MASK is set (you can't trust the latter since
 ddb doesn't mask interrupts).
 
 Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806141140.EAA11451>