Page MenuHomeFreeBSD

Eliminate thread pinning from broadcast TLB invalidation functions on arm64
ClosedPublic

Authored by alc on Fri, Nov 22, 7:09 PM.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

alc created this revision.Fri, Nov 22, 7:09 PM
andrew accepted this revision.Wed, Nov 27, 8:10 AM
This revision is now accepted and ready to land.Wed, Nov 27, 8:10 AM
markj accepted this revision.Wed, Nov 27, 3:10 PM