From owner-freebsd-bugs Sun Jun 14 04:40:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA28347 for freebsd-bugs-outgoing; Sun, 14 Jun 1998 04:40:41 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA28331 for ; Sun, 14 Jun 1998 04:40:39 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id EAA11451; Sun, 14 Jun 1998 04:40:01 -0700 (PDT) Date: Sun, 14 Jun 1998 04:40:01 -0700 (PDT) Message-Id: <199806141140.EAA11451@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.ORG From: Bruce Evans 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 Reply-To: Bruce Evans Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR i386/6944; it has been noted by GNATS. From: Bruce Evans 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