坏主意1

从TLS获得arena

  • 在获得自身专用的arena之前,有一部分是需要从main_arena中获取的,并且它必须返回给main_arena

坏主意2

在每个malloc header中添加一个指向arena的指针

  • 自寻死路,很多份4个字节

坏主意3

从main_arena(唯一的全局变量)中延伸出arena的列表

  • 检索复杂度是O(n)

结论?

  • arena是固定内存1M对齐,谈后,我们需要ptr & ~0xFFFFF来获得指向arena的指针

课题1

main_arena只是一个全局变量

  • 每次都是熟悉的size

课题2

Linux中并没有确保1M对齐的内存系统调用

  • 可以通过以下棘手的方式完成