slab color是为了提高硬件cache的使用率,因为相同大小的object in different slabs有很大的可能被映射到同一个cache line,而同时又会有其它的cache
line处于空闲。解决方法如下:
假设aln是对齐参数,free是每个slab为了对齐而未被使用的空间,通常free>aln
将color*aln未使用的空间放到slab的最前面,后面留free-color*aln。这样就可以错开各个slab里有相同offset的object了。
(color<free/aln)
从这里又可以看到linux在设计时的细心程度,连本来没用的空间(free),也被用来优化系统。
2009年 02月 05日 星期四 08:49:12 CST
slab color
最新推荐文章于 2021-07-16 11:25:51 发布