'Change the vm_map lookup algorithm'
me at endeavour.zapto.org
Sat Oct 2 18:12:19 PDT 2010
This is a data point of some kind. I ran zsh on FreeBSD 6.3-PRERELEASE,
collected the VM map. This particular instance of FreeBSD was running our
nmalloc, so the malloc slab structures would look like our's, rather than
phkmalloc's. The VM map had 29 entries; many were densely packed dynamic
I ran 45 lookups in the VM map against the rb tree; the lookups were
mostly in rw sections of libc, the zsh code, and the malloc slabs. I
captured the number of rb tree levels hit -- the average depth was 3.8
levels, with a range from 1 to 6 levels hit. Unfortunately, libc's text
and data sections were 6-levels deep...
I ran 16 lookups that'd miss as well -- the mean depth for missed lookups
was 5.4 levels, with a range of 3 to 7 levels hit.
More information about the Kernel