git: kernel - Make adjustments to the per-lwp ucred

Matthew Dillon dillon at
Mon Dec 14 20:51:31 PST 2009

commit 7bd858e51115d0dff9cc33c4e3fdbe7951e62d64
Author: Matthew Dillon <dillon at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list