по моей информации обычно malloc приводит к mmap
в ptmalloc (т.е. в libc) mmap происходит, если аллоцируемый размер превышает параметр MMAP_THRESHOLD. И mmap нужны для mmap областей других арен, но там сразу выделяется много памяти, чтобы работать по принципу top chunk, т.е. не каждый запрос mmap. Вообще аллокатор можно воспринимать как кеш для оптимизаций количества вызовов mmap/brk/madvice.