Page MenuHomeFreeBSD

Eliminate thread pinning from broadcast TLB invalidation functions on arm64
ClosedPublic

Authored by alc on Nov 22 2019, 7:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 11, 6:04 AM
Unknown Object (File)
Sun, Nov 30, 5:20 AM
Unknown Object (File)
Nov 20 2025, 9:15 PM
Unknown Object (File)
Nov 20 2025, 9:06 PM
Unknown Object (File)
Nov 20 2025, 9:06 PM
Unknown Object (File)
Nov 20 2025, 8:57 PM
Unknown Object (File)
Nov 19 2025, 3:03 PM
Unknown Object (File)
Oct 26 2025, 4:54 AM
Subscribers

Details

Summary

On arm64, I see no reason why we need to pin the underlying thread in pmap_invalidate_{all,page,range}(). These functions are using an instruction that broadcasts the invalidation to other processors, so even if a thread migrates in the midst of one of these functions every processor will still perform the invalidations.

Test Plan

I've been running with this change in place for weeks.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable