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>
