【发布时间】:2020-11-11 02:18:19
【问题描述】:
我需要向sk_buff 结构添加一个小缓冲区,并希望将其添加为单独的成员或将其添加到默认skb->cb 之上。
大小约为 100 字节。在这里,关注的是“性能”。它会导致数据包处理的任何性能下降吗?特别是缓存对齐,因为这种大小的sk_buff 无法加载到单个缓存行中,这会导致问题吗?
我做了一个实验,我只是在sk_buff 中添加了 4 个字节,并注意到在常规 UDP 测试中性能下降了 30-50MBps。
有什么建议吗?
【问题讨论】:
-
是的,当然会产生影响。经过多年的努力,这种结构已经得到优化。主要问题是什么?究竟想做什么?有一个
cb特殊缓冲区,可用于您自己的目的。
标签: performance linux-kernel linux-device-driver embedded-linux