将晦涩难懂的技术讲的通俗易懂
分类: LINUX
2019-06-16 19:56:35
本篇文章主要分析一下dpdk的内存对齐处理,注意这里说的不是“cache对齐”,而是内存对齐。不同于cache处理,我们只要保证数据cache line对齐就好,对于内存对齐我们需要充分了解一定的内存背景知识。关于内存的一些基本知识之前整理过一篇文章,可以参考如下链接:http://blog.chinaunix.net/uid-28541347-id-5795423.html。下面首先对文章的一些要点进行下回顾:
在dpdk中内存分配中已经为我们考虑了,在创建mempool过程中有以下代码:
点击(此处)折叠或打开
可以看到在默认没有设置MEMPOOL_F_NO_SPREAD是会调用optimize_object_size,这个函数就是内存对齐的关键。
optimize_object_size