【技术实现步骤摘要】
一种多CPU核间负载均衡的网络报文处理方法
本专利技术涉及一种网络数据处理方法,尤其是涉及一种多CPU核间负载均衡的网络报文处理方法。
技术介绍
现有技术对于单一接收队列网卡芯片,接收报文处理往往采用硬中断触发轮询收报文方式,由于受限于单一队列的特性,报文一般送往一个CPU核上,这样其他CPU核无法和一起从单一接收队列并行取报文,当网卡接收报文负荷大于CPU处理能力时,造成一个CPU核繁忙,其他所有CPU核空闲的局面。单一接收队列网卡芯片,接收报文时只会送往CPU的一个核处理,造成处理能力无法有效利用等问题。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种充分利用CPU资源、可实现自动均衡的多CPU核间负载均衡的网络报文处理方法。本专利技术的目的可以通过以下技术方案来实现:一种多CPU核间负载均衡的网络报文处理方法,该方法首先指定一个CPU核从网卡接收队列收取报文,并分发到其他CPU核的报文接收队列中,直至报文接收队列达到其最大阀值,其他CPU核从与其对应的报文接收队列收取报文,然后对报文进行协议栈处理。所述的每个CPU核均设有对应的ID,所述的ID的取值范围为[0,CPU_CORE_NUMBERS-1]间的整数,其中,CPU_CORE_NUMBERS为CPU核的总数。所述的网络报文处理方法具体包括以下步骤:1)指定ID为CURRENT_CPU_ID的CPU核为当前从网卡接收队列收取报文的当前核;2)当前核从网卡接收队列收取报文,且变量recv_packet_count的值加一,所述的变量recv_packet_count表示当前核 ...
【技术保护点】
一种多CPU核间负载均衡的网络报文处理方法,其特征在于,该方法首先指定一个CPU核从网卡接收队列收取报文,并分发到其他CPU核的报文接收队列中,直至报文接收队列达到其最大阀值,其他CPU核从与其对应的报文接收队列收取报文,然后对报文进行协议栈处理。
【技术特征摘要】
1.一种多CPU核间负载均衡的网络报文处理方法,其特征在于,该方法首先指定一个CPU核从网卡接收队列收取报文,并分发到其他CPU核的报文接收队列中,直至报文接收队列达到其最大阀值,其他CPU核从与其对应的报文接收队列收取报文,然后对报文进行协议栈处理;每个所述的CPU核均设有对应的ID,所述的ID的取值范围为[0,CPU_CORE_NUMBERS-1]间的整数,其中,CPU_CORE_NUMBERS为CPU核的总数;所述的网络报文处理方法具体包括以下步骤:1)指定ID为CURRENT_CPU_ID的CPU核为当前从网卡接收队列收取报文的当前核;2)当前核从网卡接收队列收取报文,且变量recv_packet_count的值加一,所述的变量recv_packet_count表示当前核已收取的报文个数;...
【专利技术属性】
技术研发人员:裴建成,
申请(专利权)人:上海寰创通信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。