Page MenuHomeFreeBSD

powerpc64/pmap: micro-optimize some PVO-PTE logic
ClosedPublic

Authored by jhibbits on Nov 13 2019, 2:02 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 11:58 AM
Unknown Object (File)
Sep 24 2024, 3:58 AM
Unknown Object (File)
Sep 22 2024, 5:19 PM
Unknown Object (File)
Sep 19 2024, 10:17 PM
Unknown Object (File)
Sep 18 2024, 2:49 PM
Unknown Object (File)
Sep 18 2024, 9:59 AM
Unknown Object (File)
Sep 6 2024, 2:51 AM
Unknown Object (File)
Aug 25 2024, 10:08 AM
Subscribers

Details

Summary

moea64_pte_sync_native() and moea64_pte_unset_native() don't need the
full PTE created, they only need to check that the PVO has a matching
PTE to the PTE in the page table. Don't waste time creating the full
PTE in this case.

Diff Detail

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

Event Timeline

The changes look ok to me. They seem to preserve the original logic, while avoiding the full PTE from PVO conversion.

Looking further ahead, pseries MMU code could also be improved in a similar way.
mphyp_pte_unset() could take advantage of this optimization too, while the 'if' at mmu_phyp.c:288, at mphyp_pte_synch(), could now be refactored to use moea64_pte_vpn_from_pvo_vpn() instead.

This revision is now accepted and ready to land.Nov 29 2019, 1:16 PM
This revision was automatically updated to reflect the committed changes.