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.

Reply via email to