Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
FYI, I just did a "buildworld" where I counted the number of times that the pmap_remove() could be avoided ("debug.counter1") and the number of times that the pmap_remove() was needed ("debug.counter2"). The results are:
debug.counter1: 2044614 debug.counter2: 8117202
I'm actually surprised by how large debug.counter1 is.
Comment Actions
I added a dtrace probe before the pmap_remove() call so that I could dump the vm_map_entry. Most (~80%) of the no-op calls seem to be a result of the use of MAP_FIXED in rtld: as it maps segments of shared objects, vm_map_fixed() deletes subranges of the guard mapping.