摘要:
... 阅读全文
摘要:
rte_ring是一个无锁队列,无锁队列的出队入队操作是rte_ring实现的关键。因此,本文主要讲解dpdk是怎样使用无锁机制实现rte_ring的多生产者入队操作。 rte_atomic32_cmpset()称为CAS(compare and set)操作,是无锁队列实现的关键,实现的伪代码如下: cmpset(cur, old, next)
{ if (cur == ... 阅读全文
摘要:
Rte_mbuf 本文假定报文的长度不超过rte_mbuf->buf_len的长度。 内存结构 分配操作 Mbuf由缓冲池rte_mempool管理,rte_mempool在初始化时一次申请多个mbuf,申请的mbuf个数和长度都由用户指定。宏MBUF_SIZE是例子程序中使用的mbuf长度: #define MBUF_SIZE (2048 + sizeof(struct rte_m... 阅读全文