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