Module Name:    src
Committed By:   ad
Date:           Thu Oct  5 19:41:07 UTC 2023

Modified Files:
        src/sys/arch/aarch64/aarch64: aarch32_syscall.c syscall.c
        src/sys/arch/alpha/alpha: linux_syscall.c syscall.c trap.c
        src/sys/arch/amd64/amd64: linux32_syscall.c linux_syscall.c
            netbsd32_syscall.c trap.c
        src/sys/arch/amiga/amiga: trap.c
        src/sys/arch/arm/arm: syscall.c undefined.c
        src/sys/arch/arm/arm32: fault.c
        src/sys/arch/atari/atari: trap.c
        src/sys/arch/cesfic/cesfic: trap.c
        src/sys/arch/hp300/hp300: trap.c
        src/sys/arch/hppa/hppa: trap.c
        src/sys/arch/i386/i386: linux_syscall.c trap.c
        src/sys/arch/ia64/ia64: trap.c
        src/sys/arch/luna68k/luna68k: trap.c
        src/sys/arch/m68k/m68k: m68k_syscall.c
        src/sys/arch/mac68k/mac68k: trap.c
        src/sys/arch/mips/mips: syscall.c trap.c
        src/sys/arch/mvme68k/mvme68k: trap.c
        src/sys/arch/news68k/news68k: trap.c
        src/sys/arch/next68k/next68k: trap.c
        src/sys/arch/powerpc/ibm4xx: trap.c
        src/sys/arch/powerpc/powerpc: syscall.c trap.c
        src/sys/arch/riscv/riscv: syscall.c
        src/sys/arch/sh3/sh3: exception.c
        src/sys/arch/sparc/sparc: syscall.c trap.c
        src/sys/arch/sparc64/sparc64: syscall.c trap.c
        src/sys/arch/sun2/sun2: trap.c
        src/sys/arch/sun3/sun3: trap.c
        src/sys/arch/usermode/usermode: syscall.c
        src/sys/arch/vax/vax: syscall.c trap.c
        src/sys/arch/x68k/x68k: trap.c
        src/sys/arch/x86/x86: syscall.c
        src/sys/compat/freebsd: freebsd_syscall.c
        src/sys/kern: kern_lwp.c kern_proc.c
        src/sys/rump/librump/rumpkern: lwproc.c rump.c scheduler.c
        src/sys/sys: lwp.h

Log Message:
Arrange to update cached LWP credentials in userret() rather than during
syscall/trap entry, eliminating a test+branch on every syscall/trap.

This wasn't possible in the 3.99.x timeframe when l->l_cred came about
because there wasn't a reliable/timely way to force an ONPROC LWP running on
a remote CPU into the kernel (which is just about the only new thing in
this scheme).


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/aarch64/aarch64/aarch32_syscall.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/aarch64/aarch64/syscall.c
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/alpha/alpha/linux_syscall.c
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/alpha/alpha/syscall.c
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/alpha/alpha/trap.c
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/amd64/amd64/linux32_syscall.c \
    src/sys/arch/amd64/amd64/linux_syscall.c
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/amd64/amd64/netbsd32_syscall.c
cvs rdiff -u -r1.128 -r1.129 src/sys/arch/amd64/amd64/trap.c
cvs rdiff -u -r1.139 -r1.140 src/sys/arch/amiga/amiga/trap.c
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/arm/arm/syscall.c
cvs rdiff -u -r1.74 -r1.75 src/sys/arch/arm/arm/undefined.c
cvs rdiff -u -r1.116 -r1.117 src/sys/arch/arm/arm32/fault.c
cvs rdiff -u -r1.118 -r1.119 src/sys/arch/atari/atari/trap.c
cvs rdiff -u -r1.61 -r1.62 src/sys/arch/cesfic/cesfic/trap.c
cvs rdiff -u -r1.157 -r1.158 src/sys/arch/hp300/hp300/trap.c
cvs rdiff -u -r1.122 -r1.123 src/sys/arch/hppa/hppa/trap.c
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/i386/i386/linux_syscall.c
cvs rdiff -u -r1.308 -r1.309 src/sys/arch/i386/i386/trap.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/ia64/ia64/trap.c
cvs rdiff -u -r1.77 -r1.78 src/sys/arch/luna68k/luna68k/trap.c
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/m68k/m68k/m68k_syscall.c
cvs rdiff -u -r1.152 -r1.153 src/sys/arch/mac68k/mac68k/trap.c
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/mips/mips/syscall.c
cvs rdiff -u -r1.263 -r1.264 src/sys/arch/mips/mips/trap.c
cvs rdiff -u -r1.113 -r1.114 src/sys/arch/mvme68k/mvme68k/trap.c
cvs rdiff -u -r1.75 -r1.76 src/sys/arch/news68k/news68k/trap.c
cvs rdiff -u -r1.93 -r1.94 src/sys/arch/next68k/next68k/trap.c
cvs rdiff -u -r1.101 -r1.102 src/sys/arch/powerpc/ibm4xx/trap.c
cvs rdiff -u -r1.57 -r1.58 src/sys/arch/powerpc/powerpc/syscall.c
cvs rdiff -u -r1.163 -r1.164 src/sys/arch/powerpc/powerpc/trap.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/riscv/riscv/syscall.c
cvs rdiff -u -r1.74 -r1.75 src/sys/arch/sh3/sh3/exception.c
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/sparc/sparc/syscall.c
cvs rdiff -u -r1.200 -r1.201 src/sys/arch/sparc/sparc/trap.c
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/sparc64/sparc64/syscall.c
cvs rdiff -u -r1.194 -r1.195 src/sys/arch/sparc64/sparc64/trap.c
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/sun2/sun2/trap.c
cvs rdiff -u -r1.147 -r1.148 src/sys/arch/sun3/sun3/trap.c
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/usermode/usermode/syscall.c
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/vax/vax/syscall.c
cvs rdiff -u -r1.137 -r1.138 src/sys/arch/vax/vax/trap.c
cvs rdiff -u -r1.111 -r1.112 src/sys/arch/x68k/x68k/trap.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/x86/x86/syscall.c
cvs rdiff -u -r1.6 -r1.7 src/sys/compat/freebsd/freebsd_syscall.c
cvs rdiff -u -r1.264 -r1.265 src/sys/kern/kern_lwp.c
cvs rdiff -u -r1.273 -r1.274 src/sys/kern/kern_proc.c
cvs rdiff -u -r1.56 -r1.57 src/sys/rump/librump/rumpkern/lwproc.c
cvs rdiff -u -r1.360 -r1.361 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.54 -r1.55 src/sys/rump/librump/rumpkern/scheduler.c
cvs rdiff -u -r1.226 -r1.227 src/sys/sys/lwp.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to