Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch



Module Name:    src
Committed By:   maxv
Date:           Wed May 29 16:54:42 UTC 2019

Modified Files:
        src/sys/arch/amd64/amd64: cpufunc.S genassym.cf
        src/sys/arch/amd64/include: pmap.h
        src/sys/arch/x86/include: cpufunc.h pmap.h specialreg.h
        src/sys/arch/x86/x86: cpu.c svs.c x86_machdep.c

Log Message:
Add PCID support in SVS. This avoids TLB flushes during kernel<->user
transitions, which greatly reduces the performance penalty introduced by
SVS.

We use two ASIDs, 0 (kern) and 1 (user), and use invpcid to flush pages
in both ASIDs.

The read-only machdep.svs.pcid={0,1} sysctl is added, and indicates whether
SVS+PCID is in use.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/amd64/amd64/cpufunc.S
cvs rdiff -u -r1.75 -r1.76 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.60 -r1.61 src/sys/arch/amd64/include/pmap.h
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/x86/include/cpufunc.h
cvs rdiff -u -r1.100 -r1.101 src/sys/arch/x86/include/pmap.h
cvs rdiff -u -r1.146 -r1.147 src/sys/arch/x86/include/specialreg.h
cvs rdiff -u -r1.170 -r1.171 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/x86/x86/svs.c
cvs rdiff -u -r1.126 -r1.127 src/sys/arch/x86/x86/x86_machdep.c

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




Home | Main Index | Thread Index | Old Index