From owner-cvs-all Wed Mar 20 13:12:12 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 380E937B404; Wed, 20 Mar 2002 13:12:05 -0800 (PST) Received: (from jhb@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2KLC5S90300; Wed, 20 Mar 2002 13:12:05 -0800 (PST) (envelope-from jhb) Message-Id: <200203202112.g2KLC5S90300@freefall.freebsd.org> From: John Baldwin Date: Wed, 20 Mar 2002 13:12:05 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_trap.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG jhb 2002/03/20 13:12:05 PST Modified files: sys/kern subr_trap.c Log: Change the way we ensure td_ucred is NULL if DIAGNOSTIC is defined. Instead of caching the ucred reference, just go ahead and eat the decerement and increment of the refcount. Now that Giant is pushed down into crfree(), we no longer have to get Giant in the common case. In the case when we are actually free'ing the ucred, we would normally free it on the next kernel entry, so the cost there is not new, just in a different place. This also removse td_cache_ucred from struct thread. This is still only done #ifdef DIAGNOSTIC. [ missed this file in the previous commit ] Tested on: i386, alpha Revision Changes Path 1.211 +3 -30 src/sys/kern/subr_trap.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message