jemalloc doesn't really use free lists or sbrk for user allocations much at all: thread caches are arrays of pointers (easier to flush and no need to deref stale memory), red-black trees manage chunks and runs within chunks, and runs use bitmaps. It can use sbrk as an alternate source of chunks, but it defaults to using mmap and there's no real advantage to switching it. THP currently seems to be designed around the assumption that all userspace allocators are variants of dlmalloc...
Attachment:
signature.asc
Description: OpenPGP digital signature