Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/arch/alpha
Module Name: src
Committed By: thorpej
Date: Sat Aug 29 20:07:00 UTC 2020
Modified Files:
src/sys/arch/alpha/alpha: cpu.c ipifuncs.c pmap.c vm_machdep.c
src/sys/arch/alpha/include: cpu.h intr.h pmap.h
Log Message:
- Centralize per-CPU pmap initialization into a new pmap_init_cpu()
function. Call in from pmap_bootstrap() for the boot CPU, and
from cpu_hatch() for secondaary CPUs.
- Eliminiate the dedicated I-stream memory barrier IPI; handle it all from
the TLB shootdown IPI. Const poison, and add some additional memory
barriers and a TBIA to the PAUSE IPI.
- Completly rewrite TLB management in the alpha pmap module, borrowing
somoe ideas from the x86 pmap and adapting them to the alpha environment.
See the comments for theory of operation. Add a bunch of stats that
can be reported (disabled by default).
- Add some additional symbol decorations to improve cache behavior on
MP systems. Ensure coherency unit alignment for several structures
in the pmap module. Use hashed locks for pmap structures.
- Start out all new processes on the kernel page tables until their
first trip though pmap_activate() to avoid the potential of polluting
the current ASN in TLB with cross-process mappings.
To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/sys/arch/alpha/alpha/cpu.c
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/alpha/alpha/ipifuncs.c
cvs rdiff -u -r1.268 -r1.269 src/sys/arch/alpha/alpha/pmap.c
cvs rdiff -u -r1.115 -r1.116 src/sys/arch/alpha/alpha/vm_machdep.c
cvs rdiff -u -r1.88 -r1.89 src/sys/arch/alpha/include/cpu.h
cvs rdiff -u -r1.72 -r1.73 src/sys/arch/alpha/include/intr.h
cvs rdiff -u -r1.82 -r1.83 src/sys/arch/alpha/include/pmap.h
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