Date: Mon, 18 Feb 2002 09:15:16 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Robert Watson <rwatson@FreeBSD.ORG> Cc: Poul-Henning Kamp <phk@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern kern_time.c Message-ID: <200202181715.g1IHFGU15223@apollo.backplane.com> References: <Pine.NEB.3.96L.1020218103123.69361L-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:Weee. This might actually give an observable performance improvement for
:applications such as Apache, or those with event loops. Any chance you
:want to do a quick micro-benchmark?
:
:(Question: is this the first observable performance improvement form
:SMPng? :-)
:
:Robert N M Watson FreeBSD Core Team, TrustedBSD Project
:robert@fledge.watson.org NAI Labs, Safeport Network Services
That's what those gettimeofday() benchmarks I posted were testing.
In anycase, some of the simpler system calls are already out from
under giant, like getpagesize().
Three classes of system calls will soon be out from under Giant:
* system calls that retrieve information from ucred. With Julian's
latest patch, the ucred is now safe in the thread so these system
calls can access it rather then the less-safe ucred in the proc
structure. These will not be instrumented, they will simply
access the information.
* system calls that retrieve information from the proc, like
getpid(), will soon be out from under giant or be able to just use
the PROC_LOCK. These will be instrumented with the kern.giant.proc
sysctl.
* system calls that mess around with file descriptors and struct
file's (Alfred's work), that do not have to push into the
fileops, are coming along. I'm going to be messing with fileops
after I finish messing with the ucred stuff.
In the syscall path itself we need to clean up the Giant acquisition
done in the syscall trap (that's why we want to not have to crfree()
the thread's ucred structure after each syscall), userret() (signal
checking), and perhaps a few other places.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202181715.g1IHFGU15223>
