看板 DFBSD_commit 關於我們 聯絡資訊
commit 7bd858e51115d0dff9cc33c4e3fdbe7951e62d64 Author: Matthew Dillon <dillon@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