CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2016/04/24 07:35:45
Modified files:
sys/arch/mips64/mips64: pmap.c
Log message:
Make pmap_invalidate_*_page() and pmap_update_*_page() operate only on
the local TLB and add pmap_shootdown_page() for invalidating remote
TLBs. Where the code previously updated a remote TLB entry, the code now
issues a remote invalidation, like in architectures with a
hardware-managed TLB. This eases work in the MP land because
invalidations do not need to strictly follow the order of page table
updates.
Almost as a side effect, pmap_emulate_modify() no longer touches remote
TLBs. It is no use to force a TLB D bit on other CPUs because they might
not need it. Moreover, a shootdown IPI probably has a higher overhead
than a local TLBModified exception.