Remove mmap_unaligned.

Remove mmap_unaligned, which was used to heuristically decide whether to
optimistically call mmap() in such a way that could reduce the total
number of system calls.  If I remember correctly, the intention of
mmap_unaligned was to avoid always executing the slow path in the
presence of ASLR.  However, that reasoning seems to have been based on a
flawed understanding of how ASLR actually works.  Although ASLR
apparently causes mmap() to ignore address requests, it does not cause
total placement randomness, so there is a reasonable expectation that
iterative mmap() calls will start returning chunk-aligned mappings once
the first chunk has been properly aligned.
This commit is contained in:
Jason Evans 2012-04-21 19:17:21 -07:00
parent 7ad54c1c30
commit a8f8d7540d
6 changed files with 29 additions and 101 deletions

View file

@ -634,7 +634,7 @@ malloc_init_hard(void)
return (true);
}
if (chunk_boot0()) {
if (chunk_boot()) {
malloc_mutex_unlock(&init_lock);
return (true);
}
@ -711,11 +711,6 @@ malloc_init_hard(void)
ncpus = malloc_ncpus();
malloc_mutex_lock(&init_lock);
if (chunk_boot1()) {
malloc_mutex_unlock(&init_lock);
return (true);
}
if (mutex_boot()) {
malloc_mutex_unlock(&init_lock);
return (true);