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
F169031614: D22502.diff
Mon, Aug 31, 4:39 AM
Unknown Object (File)
Sun, Aug 30, 7:57 AM
Unknown Object (File)
Fri, Aug 28, 2:57 PM
Unknown Object (File)
Tue, Aug 25, 10:43 AM
Unknown Object (File)
Mon, Aug 24, 10:13 PM
Unknown Object (File)
Mon, Aug 24, 7:39 PM
Unknown Object (File)
Mon, Aug 24, 7:37 PM
Unknown Object (File)
Thu, Aug 20, 9:09 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