diff options
author | jake <jake@FreeBSD.org> | 2002-03-04 05:20:29 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2002-03-04 05:20:29 +0000 |
commit | 83227618098af1ac7c74fc80c5bc890fe26c9b55 (patch) | |
tree | a9197741e85c56de06ad5824608f968f989a1259 /bin/cat | |
parent | dd2207f5cd6095600f89c5258f3dafe916f98371 (diff) | |
download | FreeBSD-src-83227618098af1ac7c74fc80c5bc890fe26c9b55.zip FreeBSD-src-83227618098af1ac7c74fc80c5bc890fe26c9b55.tar.gz |
Allocate tlb contexts on the fly in cpu_switch, instead of statically 1 to 1
with pmaps. When the context numbers wrap around we flush all user mappings
from the tlb. This makes use of the array indexed by cpuid to allow a pmap
to have a different context number on a different cpu. If the context numbers
are then divided evenly among cpus such that none are shared, we can avoid
sending tlb shootdown ipis in an smp system for non-shared pmaps. This also
removes a limit of 8192 processes (pmaps) that could be active at any given
time due to running out of tlb contexts.
Inspired by: the brown book
Crucial bugfix from: tmm
Diffstat (limited to 'bin/cat')
0 files changed, 0 insertions, 0 deletions