git: kernel - Make adjustments to the per-lwp ucred
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Dec 14 20:51:31 PST 2009
commit 7bd858e51115d0dff9cc33c4e3fdbe7951e62d64
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Dec 14 20:40:54 2009 -0800
kernel - Make adjustments to the per-lwp ucred
* Rename lwp_syscall_ucred to lwp_ucred and move ucred synchronization
from syscall2() to userenter(). It now runs on any user entry into
the kernel, not just for system calls.
NOTE: A VM fault from the kernel itself does not call userenter() and
does not trigger another synchronization. This is the behavior
we desire, to ensure that lwp_ucred is stable.
There are numerous non-syscall cases (e.g. signal, fault, etc) where
we may need to access a safe ucred.
* Remove the SMP conditional. lwp_ucred is now tracked for both UP and SMP.
There is no point optimizing this for UP since there is basically no cost
for tracking lwp_ucred.
Summary of changes:
sys/kern/kern_exit.c | 6 ++--
sys/platform/pc32/i386/trap.c | 50 +++++++++++++++----------------
sys/platform/pc64/x86_64/trap.c | 59 +++++++++++++++++-------------------
sys/platform/vkernel/i386/trap.c | 60 +++++++++++++++++--------------------
sys/sys/proc.h | 2 +-
5 files changed, 84 insertions(+), 93 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7bd858e51115d0dff9cc33c4e3fdbe7951e62d64
--
DragonFly BSD source repository
More information about the Commits
mailing list