HomeFreeBSD

Implement per-CPU pmap activation tracking for RISC-V.

Description

Implement per-CPU pmap activation tracking for RISC-V.

This reduces the overhead of TLB invalidations by ensuring that we
only interrupt CPUs which are using the given pmap. Tracking is
performed in pmap_activate(), which gets called during context switches:
from cpu_throw(), if a thread is exiting or an AP is starting, or
cpu_switch() for a regular context switch.

For now, pmap_sync_icache() still must interrupt all CPUs.

Reviewed by: kib (earlier version), jhb
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D18874

Details

Provenance
markjAuthored on
Reviewer
kib
Differential Revision
D18874: Implement per-CPU pmap activation tracking.
Parents
rS344107: Implement pmap_clear_modify() for RISC-V.
Branches
Unknown
Tags
Unknown