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)
Thu, Mar 7, 11:47 PM
Unknown Object (File)
Dec 20 2023, 4:08 AM
Unknown Object (File)
Dec 12 2023, 10:15 AM
Unknown Object (File)
Nov 8 2023, 2:03 AM
Unknown Object (File)
Oct 7 2023, 12:59 AM
Unknown Object (File)
Oct 3 2023, 8:26 PM
Unknown Object (File)
Sep 16 2023, 6:55 AM
Unknown Object (File)
Aug 12 2023, 6:54 PM
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.