This application discloses a method and device for setting up a large receiving and unloading function. The method includes: determining the start and stop information of large receiving and unloading LRO function of receiving queue, which is used to indicate the LRO function of opening or stopping the receiving queue, and setting the LRO function of receiving queue according to the start and stop information, so as to improve the overall performance of the system.
【技术实现步骤摘要】
一种大型接收卸载功能的设置方法和装置
本申请涉及通信
,尤其涉及一种大型接收卸载(largereceiveoffload,LRO)功能的设置方法和装置。
技术介绍
LRO是一种卸载技术,由网卡(networkinterfacecard,NIC)实现,例如,将传输控制协议(TransmissionControlProtocol,TCP)报文切片(segment)的聚合处理过程由处理器卸载到网卡。具体的,当网卡开启或停止LRO功能时,所有接收队列同时开启或停止该功能。当网卡开启LRO功能时,由网卡将接收到的属于同一数据流的TCP报文切片聚合成一个TCP报文或一个大的TCP报文切片。以网卡驱动所在的服务器采用的操作系统是Linux操作系统为例,网卡驱动可以将聚合得到的TCP报文或大的TCP报文切片转换成套接字缓存(socketbuffer,SKB)结构的数据,然后,将SKB结构的数据发送给处理器,再由处理器完成协议栈(如TCP/IP协议栈)的后续处理过程。这样,不需要由处理器执行报文切片的聚合行为以及SKB结构的转换操作,减少处理器的处理开销。然而,如果聚合效果不好,则开启LRO功能后,会因网卡执行TCP报文切片聚合而导致TCP报文的处理时间延长。因此,如何设置LRO功能的启停从而提高系统的整体性能,成为亟待解决的技术问题。
技术实现思路
本申请提供了一种LRO功能的设置方法和装置,有助于提高系统的整体性能。第一方面,本申请提供了一种LRO功能的设置方法,该方法可以包括:确定接收队列的LRO功能的启停信息,该启停信息用于指示开启或停止该接收队列的LRO功能;根 ...
【技术保护点】
1.一种大型接收卸载LRO功能的设置方法,其特征在于,所述方法包括:确定接收队列的LRO功能的启停信息,所述启停信息用于指示开启或停止所述接收队列的LRO功能;根据所述启停信息,设置所述接收队列的LRO功能。
【技术特征摘要】
1.一种大型接收卸载LRO功能的设置方法,其特征在于,所述方法包括:确定接收队列的LRO功能的启停信息,所述启停信息用于指示开启或停止所述接收队列的LRO功能;根据所述启停信息,设置所述接收队列的LRO功能。2.根据权利要求1所述的方法,其特征在于,所述根据所述启停信息,设置所述接收队列的LRO功能,包括:根据所述启停信息,开启所述接收队列的LRO功能;其中,所述开启所述接收队列的LRO功能,包括:开启对所述接收队列中的属于同一数据流的多个报文切片进行聚合。3.根据权利要求1或2所述的方法,其特征在于,所述确定接收队列的LRO功能的启停信息,包括:在所述接收队列的LRO功能开启的情况下,统计所述接收队列的聚合过程中断的概率;其中,针对所述接收队列执行LRO功能后得到的目标对象包括:所述接收队列中的报文、所述接收队列中的不能参与聚合的报文切片、和/或所述接收队列中的多个报文切片聚合后得到的报文切片或报文,如果一个所述目标对象是报文切片、且不是所属报文中的最后一个报文切片、且长度小于或等于第一阈值,则所述接收队列的聚合过程中断一次;当所述接收队列的聚合过程中断的概率大于或等于第二阈值时,确定所述启停信息用于指示停止所述接收队列的LRO功能。4.根据权利要求3所述的方法,其特征在于,所述统计所述接收队列的聚合过程中断的概率,包括:统计第一预设时间段内所述接收队列的聚合过程中断的次数,以及所述第一预设时间段内针对所述接收队列执行LRO功能后得到的目标对象的数量;根据所述第一预设时间段内所述接收队列的聚合过程中断的次数,以及所述第一预设时间段内针对所述接收队列执行LRO功能后得到的目标对象的数量,确定所述接收队列的聚合过程中断的概率。5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:从多种阈值组中选择一个阈值组,每个阈值组包括一个第三阈值和一个第四阈值;将所选择的阈值组包括的第三阈值作为所述第一阈值,将所选择的阈值组包括的第四阈值作为所述第二阈值。6.根据权利要求1所述的方法,其特征在于,所述确定接收队列的LRO功能的启停信息,包括:在所述接收队列的LRO功能停止的情况下,统计所述接收队列中的对象所属的数据流是多流的概率,所述对象包括报文和/或报文切片;如果统计的所述接收队列中的对象所属的数据流是多流的概率小于或等于第五阈值,则确定所述启停信息用于指示开启所述接收队列的LRO功能。7.根据权利要求6所述的方法,其特征在于,所述统计所述接收队列中的对象所属的数据流是多流的概率,包括:统计所述第二预设时间段内所述接收队列中的对象所属的数据流是多流的次数和所述第二预设时间段内所述接收队列的对象的数量;其中,如果所述接收队列中的相邻两个对象的哈希值不同,则所述接收队列的对象所属的数据流是多流的次数加1;根据所述第二预设时间段内所述接收队列中的对象所属的数据流是多流的次数和所述第二预设时间段内所述接收队列的对象的数量,确定所述接收队列中的对象所属的数据流是多流的概率。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:从多个阈值中选择一个阈值,并将所选择的阈值作为所述第五阈值。9.一种大型接收卸载LRO功能的设置装置,其特征在于,所述装置包括:确定单元,用于确定接收队列的L...
【专利技术属性】
技术研发人员:曲会春,徐成,程韬,武雪平,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。