【技术实现步骤摘要】
本专利技术属于ip网络通信,具体涉及一种基于dpdk的用户态rcu机制设计方法及应用。
技术介绍
1、为了提高网络数据包处理速度以及吞吐量,目前将网络协议栈放在用户态上是常见做法,例如sdn的数据转发面;因此,当前英特尔提供的开源数据平面开发套件dpdk已被各大互联网厂商使用,云公司在数据转发面也是基于dpdk进行的二次开发;
2、在现有技术中,对于当前dpdk的qsbr库,用户态缺少像内核rcu类似功能的锁,尤其是基于dpdk开发的案例中尚未有相关应用的设计和测试,导致用户态协议栈的开发和移植存在技术空白。
技术实现思路
1、本专利技术的目的在于提供一种基于dpdk的用户态rcu机制设计方法及应用,旨在解决现有技术中对于当前dpdk的qsbr库,用户态缺少像内核rcu类似功能的锁,尤其是基于dpdk开发的案例中尚未有相关应用的设计和测试,导致用户态协议栈的开发和移植存在限制的问题。
2、为实现上述目的,本专利技术提供如下技术方案:
3、一种基于dpdk
...【技术保护点】
1.一种基于DPDK的用户态RCU机制设计方法,其特征在于,包括:
2.根据权利要求1所述的一种基于DPDK的用户态RCU机制设计方法,其特征在于,为实现延迟释放功能,需要一个队列以及定时器,具体逻辑包括如下步骤:
3.根据权利要求2所述的一种基于DPDK的用户态RCU机制设计方法,其特征在于,还包括特殊延迟队列,其队列元素的数据结构:struct gener_rcu_defer_free_st{RCU_DEFER_FREE_FN fn;void*data;}。
4.根据权利要求3所述的一种基于DPDK的用户态RCU机制设计方法,其
...【技术特征摘要】
1.一种基于dpdk的用户态rcu机制设计方法,其特征在于,包括:
2.根据权利要求1所述的一种基于dpdk的用户态rcu机制设计方法,其特征在于,为实现延迟释放功能,需要一个队列以及定时器,具体逻辑包括如下步骤:
3.根据权利要求2所述的一种基于dpdk的用户态rcu机制设计方法,其特征在于,还包括特殊延迟队列,其队列元素的数据结构:struct gener_rcu_defer_free_st{rcu_defer_free_fn fn;void*data;}。
4.根据权利要求3所述的一种基于dpdk的用户态rcu机制设计方法,其特征在于:data用于存放各种待删除数据的指针,在数据被压入队列元素中,将其强制转换成void类型,其中,fn_free_a的函数原型如下:typedefvoid(*rcu_defer_free_fn)(void*e)。
5.根据权利要求4所述的一种基于dpdk的用户态rcu机制设计方法,其特征在于:当释放a数据的时候,其实首先解析的是队列元素gener_rcu_defer_free_st,然后把data作为函数fn_free_a的入参,由fn_free_a来自行释放,fn_free_a是a的专属释放函数。
6.根据权利要求5所述的一种基于dpdk的用户态rcu机制设计方法,其特征在于:rcu更新操作分...
【专利技术属性】
技术研发人员:姜少华,兰培挺,蔡慧超,唐荣生,吴静勇,王晓华,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。