Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Feb 2002 09:34:46 -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:  <200202181734.g1IHYkY15439@apollo.backplane.com>
References:   <Pine.NEB.3.96L.1020218122211.69361n-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
    John seems to have patches for just about everything, but they're
    useless if he doesn't focus and start committing them.   I am going
    to start comitting the simpler stuff, like the ucred stuff that is
    based on Julian's work (which John ought not to have patches for
    since it didn't exist two days ago).  If we hit a conflict John can
    email me and we will work it out.  Otherwise I won't be able to commit
    anything at all in any subsystem for the next year without first 
    checking with John, which is rather silly.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

:On Mon, 18 Feb 2002, Matthew Dillon wrote:
:
:>     That's what those gettimeofday() benchmarks I posted were testing.
:
:Sorry, I must have missed this: I was looking for before/after benchmarks
:from phk's commit.
:
:...
:>     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.
:
:John has a rather large patch in his jhb_proc branch that does precisely
:this.  I hope he can commit this soon.  Note that you do have to be a
:little careful here: it is necessary to use p_ucred under several
:circumstances (such as during updates) so as to get proper consistency
:(i.e., changes must be authorized using the Real Process Credential).  In
:practice this means there are frequently three valid credentials for
:authorization: process, thread, and cached object.  Mostly, we'll use
:thread or cached object. 
:
:>     * 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.
:
:Sounds good.  John also has patches, I believe, that pull some signal
:operations out: thinks like get/setsigmask() being out from Giant should
:also have a good performance improvement for userland threading
:applications. 
:...
:
:>     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.
:
:John may already have patches for this.  Please make sure you synchronize
:with him on this work.
:
:Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
:robert@fledge.watson.org      NAI Labs, Safeport Network Services


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?200202181734.g1IHYkY15439>