Bug #2638

Fix machdep.pmap_mmu_optimize

Added by tuxillo about 1 year ago. Updated about 1 month ago.

Status:FeedbackStart date:02/13/2014
Priority:HighDue date:
Assignee:-% Done:

50%

Category:Kernel
Target version:4.2.x

Description

Fix machdep.pmap_mmu_optimize (currently off by default in commit 1ac5304a10366be7ed3129ceee7ca94beb0f3183 ). Affects apache and rtorrent for sure.

"might be fixed here: a44410dd8663abb121417692995d3b365f32fd6e
update: it's not fixed"

Associated revisions

Revision e3e69557
Added by dillon 12 months ago

kernel - Correct second edge-case for machdep.pmap_mmu_optimize

* The pmap_release*() code was previously optimized to not invalidate
on pml4, pdp, pd, or pt pte's, only on terminal ptes. This invalidation
interferes with the PT replacement that the pmap_mmu_optimize feature
uses.

* The bug generally would only occur when memory is mmap()'d and munmap()'d
multiple times, which something like postgres will not do, but which
rtorrent and other programs will do.

* Correctly invalidate page tables (use invltlb) when PT pte's are replaced.

* Requires further testing. Default for this feature is still off.

History

#1 Updated by tuxillo about 1 month ago

  • Status changed from In Progress to Feedback
  • Priority changed from Normal to High
  • Target version changed from 3.8.0 to 4.2.x
  • % Done changed from 0 to 50

Feature still off by default. More testing required please test!

Also available in: Atom PDF