Project

General

Profile

Bug #2638

Fix machdep.pmap_mmu_optimize

Added by tuxillo almost 3 years ago. Updated almost 2 years ago.

Status:
Feedback
Priority:
High
Assignee:
-
Category:
Kernel
Target version:
Start date:
02/13/2014
Due date:
% Done:

50%


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 (diff)
Added by dillon over 2 years 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 almost 2 years 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