Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should
operate similarly, other than not needing the delayed invalidation.
It has been tested with artificial injection of vm_page_alloc failures.
Differential D10574
Implement reclaim_pv_chunk on arm64 andrew on May 2 2017, 4:31 PM. Authored by Tags None Referenced Files
Subscribers
Details
Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should It has been tested with artificial injection of vm_page_alloc failures.
Diff Detail
Event TimelineComment Actions Calling pmap_invalidate_page() on each destroyed mapping makes the pmap_invalidate_all() calls redundant. In case you ever want to duplicate the batching that is performed on amd64, I would suggest commenting out the pmap_invalidate_all() calls with a few words in the comment about the pmap_invalidate_page() calls. Comment Actions Further testing has found a few bugs in the code. The main one I'm hitting is the pmap_pv_demote_l2: pv not found KASSERT when I run sort /dev/zero with vm_page_alloc being skipped 0.1% of the time falling into reclaim_pv_chunk (via a fail point).
Comment Actions Clean up and bug fixes based on reviews and testing:
This is stable now. While failing 1% of vm_page_alloc calls in get_pv_entry
|