From owner-freebsd-bugs Tue May 12 01:28:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA27222 for freebsd-bugs-outgoing; Tue, 12 May 1998 01:28:23 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from godzilla.zeta.org.au (mothra.kralizec.net.au [203.15.68.22] (may be forged)) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA27215 for ; Tue, 12 May 1998 01:28:20 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id SAA27380; Tue, 12 May 1998 18:21:30 +1000 Date: Tue, 12 May 1998 18:21:30 +1000 From: Bruce Evans Message-Id: <199805120821.SAA27380@godzilla.zeta.org.au> To: freebsd-bugs@FreeBSD.ORG, Tor.Egge@idi.ntnu.no Subject: Re: kern/6587: SMP idle cpl breaks signal forwarding Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Having a shared AST flag in an SMP configuration is wrong. > This is one of the bad side effects. I think never setting it in cpl might be best. The swi_ast_phantom code should handle unexpected swi_ast's. This is probably an optimization, even in the UP case - swi_ast's are relatively rare, and phantom ones would still be relatively rarer (new ones would only occur when there is certain interrupt handling between the setting of SWI_AST in ipending and return to user mode), so testing the RPL bits in the trap frame should be cheaper than toggling SWI_AST in cpl for every syscall. The shared AST flag in ipending may be correct even for SMP. It gets multiplexed by trap(). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message