From owner-freebsd-bugs@FreeBSD.ORG Sun Aug 29 07:00:19 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56B1210656AC for ; Sun, 29 Aug 2010 07:00:19 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 47D748FC16 for ; Sun, 29 Aug 2010 07:00:19 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o7T70J0L021808 for ; Sun, 29 Aug 2010 07:00:19 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7T70JXD021790; Sun, 29 Aug 2010 07:00:19 GMT (envelope-from gnats) Date: Sun, 29 Aug 2010 07:00:19 GMT Message-Id: <201008290700.o7T70JXD021790@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: David Xu Cc: Subject: Re: kern/131597: [kernel] c++ exceptions very slow on FreeBSD 7.1/amd64 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: David Xu List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2010 07:00:19 -0000 The following reply was made to PR kern/131597; it has been noted by GNATS. From: David Xu To: bug-followup@FreeBSD.org, guillaume@morinfr.org Cc: Kostik Belousov , John Baldwin Subject: Re: kern/131597: [kernel] c++ exceptions very slow on FreeBSD 7.1/amd64 Date: Sun, 29 Aug 2010 14:55:32 +0800 Without the previous signal wrapper patch I posted (I am not sure I will use it, because it is too complex), I think there is another way to avoid sigprocmask, I have ever written a system call sc_shared_t *schedctl(void); which returns shared data area between userland and kernel. userland code sets a flag in the data area to disable signal delivering. when kernel code wants to deliver signal, it also checks the flag, and does not deliver signals if the flag is set, then the problem would be fixed: http://people.freebsd.org/~davidxu/schedctl/