System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网络传输,特别涉及一种基于lro超时和中断itr超时的联合中断控制方法和装置。
技术介绍
1、网络中通常是以数据包为单位进行信息传递的。能够传输的最大数据包大小称为mtu,以字节为单位。rfc标准定义以太网的默认mtu为1500字节,当软件要发送的数据包大于该mtu大小后,tso(tcp segmentation offload,tcp分段卸载)技术就按照mtu对数据包进行切分,将切分好的数据包分片,通过网络发送给对端。
2、与发送方向相对应地,网卡芯片的接收通路采用一种将多个数据包分片(tcp分片)进行聚合的技术(lro,large receive offload)。其中为了防止聚合一个超级长包,传统lro会在每个接收队列内部使用一个超时计数器,当超时后停止当前数据流聚合,将已经聚合的数据写入到主机内存,并将描述符回写给主机。随后产生中断告知主机软件。其目的是将网卡接收到的数据包,在传递给操作系统之前进行合并,减少cpu中断处理次数,从而减少cpu的工作负荷,提高网络传输性能。
3、此外,网卡中断模块还可以通过中断速率限制(itr,time-based interruptthrottling)功能,防止给主机上报中断过频。只有当itr计数器超时后,中断才可以上报给主机软件。例如通过中断时间戳的时间值和系统时间值之间的差值判断是否大于软件配置的阈值,来决定当前中断是否可以上报给主机软件,用于节省带宽,提升中断抑制效果。
4、然而,上述现有技术存在以下不足。首先,当开启lro功能后
技术实现思路
1、本专利技术的目的在于提供一种基于lro超时和中断itr超时的联合中断控制方法和装置,旨在节省软件cpu资源和芯片的逻辑资源。
2、根据本专利技术的第一方面,提供了一种基于lro超时和中断itr超时的联合中断控制方法,包括:
3、将dma接收队列的中断请求映射到中断向量上,并复用所述中断向量的itr超时计数器;
4、当所述itr超时计数器的计时值达到第一时间间隔时,向所述dma接收队列反映射一个lro超时脉冲,用于指示所述dma接收队列停止聚合当前数据流,并将已聚合的数据流写入主机内存;
5、当所述itr超时计数器的计时值达到第二时间间隔时,将所述dma接收队列产生的中断请求上报给主机端。
6、优选地,所述第一时间间隔和所述第二时间间隔之和为中断itr超时间隔。
7、优选地,所述将已聚合的数据流写入主机内存,进一步包括:
8、将所述dma接收队列已聚合的接收数据和对应的描述符通过dma写入到主机内存。
9、优选地,在所述将已聚合的数据流写入主机内存之后,该方法还包括:
10、生成中断请求,将所述中断请求发送到中断处理模块,以使所述dma接收队列自动开始新数据流的聚合。
11、优选地,该方法还包括:
12、根据链路延迟状态,动态配置所述第二时间间隔,以使确保在上报所述中断请求前,所述dma接收队列已经将聚合的数据包写入到所述主机内存中。
13、根据本专利技术的第二方面,提供了一种基于lro超时和中断itr超时的联合中断控制装置,包括:
14、映射单元,用于将dma接收队列的中断请求映射到中断向量上,并复用所述中断向量的itr超时计数器;
15、反映射单元,用于当所述itr超时计数器的计时值达到第一时间间隔时,向所述dma接收队列反映射一个lro超时脉冲,用于指示所述dma接收队列停止聚合当前数据流,并将已聚合的数据流写入主机内存;
16、中断单元,用于当所述itr超时计数器的计时值达到第二时间间隔时,将所述dma接收队列产生的中断请求上报给主机端。
17、相比于现有技术,本专利技术的技术方案具备以下优点:
18、1、减少了芯片内部计数器的使用,节省了芯片资源和功耗。以256接收队列和64中断向量为例,可以从传统的320个计数器减少到1个计数器和128个寄存器。并且随着接收队列的增加,节省芯片资源和功耗的效果更加明显。通过将多个接收队列可编程地映射到一个中断向量,还能够大幅节省中断向量。
19、2、实现了lro聚合包长和中断间隔可配置。主机软件可以根据接收到数据包的长度来实时动态调整中断间隔,从而协同自适应调整lro聚合包长,实现软硬件处理融合一体。根据实际运用场景的链路延迟,软件对第二时间间隔进行动态可编程,保证lro停止聚合的数据包和描述符写入到主机内存后,再上报中断。
20、3、将中断超时和接收队列lro超时相结合,能够将停止聚合的数据包通过中断及时地告知主机,并且减少软件无效处理lro聚合报文的次数。主机软件只需要处理该中断映射的队列,因而有效地降低了cpu利用率。
21、4、本专利技术的方案具有广泛的适用性。不依赖pcie的中断模式,该方法对int-x、msi和msix中断均适用,并且可以根据不同带宽的网卡来调节第一时间间隔和第二时间间隔进行适配。此外该方案适用于虚拟化和非虚拟化场景。
22、本专利技术的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可以通过在说明书、权利要求书以及附图中所指出的结构和流程来实现和获取。
本文档来自技高网...【技术保护点】
1.一种基于LRO超时和中断ITR超时的联合中断控制方法,其特征在于,包括:
2.根据权利要求1所述的基于LRO超时和中断ITR超时的联合中断控制方法,其特征在于,所述第一时间间隔和所述第二时间间隔之和为中断ITR超时间隔。
3.根据权利要求1所述的基于LRO超时和中断ITR超时的联合中断控制方法,其特征在于,所述将已聚合的数据流写入主机内存,进一步包括:
4.根据权利要求3所述的基于LRO超时和中断ITR超时的联合中断控制方法,其特征在于,在所述将已聚合的数据流写入主机内存之后,该方法还包括:
5.根据权利要求1所述的基于LRO超时和中断ITR超时的联合中断控制方法,其特征在于,该方法还包括:
6.一种基于LRO超时和中断ITR超时的联合中断控制装置,其特征在于,包括:
7.根据权利要求6所述的基于LRO超时和中断ITR超时的联合中断控制装置,其特征在于,所述第一时间间隔和所述第二时间间隔之和为中断ITR超时间隔。
8.根据权利要求6所述的基于LRO超时和中断ITR超时的联合中断控制装置,其特征
9.根据权利要求8所述的基于LRO超时和中断ITR超时的联合中断控制装置,其特征在于,所述反映射单元进一步用于:
10.根据权利要求6所述的基于LRO超时和中断ITR超时的联合中断控制装置,其特征在于,还包括:
...【技术特征摘要】
1.一种基于lro超时和中断itr超时的联合中断控制方法,其特征在于,包括:
2.根据权利要求1所述的基于lro超时和中断itr超时的联合中断控制方法,其特征在于,所述第一时间间隔和所述第二时间间隔之和为中断itr超时间隔。
3.根据权利要求1所述的基于lro超时和中断itr超时的联合中断控制方法,其特征在于,所述将已聚合的数据流写入主机内存,进一步包括:
4.根据权利要求3所述的基于lro超时和中断itr超时的联合中断控制方法,其特征在于,在所述将已聚合的数据流写入主机内存之后,该方法还包括:
5.根据权利要求1所述的基于lro超时和中断itr超时的联合中断控制方法,其特征在...
【专利技术属性】
技术研发人员:董树林,杜欣,钟世鹏,金俊浩,廖源,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。