System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信,具体而言,涉及一种缓存管理方法、装置、电子设备和计算机可读存储介质。
技术介绍
1、报文的转发大体分为两类,一类是使用专用的交换芯片来指导报文进行转发,比如路由器,交换机等,简称为硬转发;另一类是通过通用平台仅使用(central processingunit,cpu)来指导报文进行转发,简称为软转发。
2、网络交换技术中通常会使用cpu和直接内存访问(direct memory access,dma)协同完成软转发。在转发报文时,需要申请一段连续的物理内存空间用来存储软转发需处理的报文。
3、现有技术中,网络环境中会有大量报文处理,总线上会有频繁的读写操作,在硬件管理软转发内存的模式下,当出现突发流量导致读写带宽超过总线能力时,会出现硬件中的缓存指针池(buffer pointer pool,bpp)管理模块释放指针回写双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr)被堵住的情况,如果此时cpu/dma还在不断释放指针,则会导致指针丢失,进而导致内存丢失。
技术实现思路
1、本专利技术的目的在于提供一种缓存管理方法、装置、电子设备和计算机可读存储介质,以解决bpp管理模块释放指针回写ddr被堵住的情况下,导致指针丢失,进而导致内存丢失的问题。
2、第一方面,本专利技术提供一种缓存管理方法,应用于交换芯片的bpp管理模块,所
3、接收到指针资源;所述指针资源由所述dma和/或所述cpu处于继续释放状态时释放;所述继续释放状态用于指示继续释放所述指针资源;
4、根据所述指针资源对所述bpp管理模块的指针资源的数量进行更新,获得当前指针资源数量;
5、将所述当前指针资源数量与指针资源阈值进行比较;
6、若所述当前指针资源数量大于所述指针资源阈值,则配置所述dma处于暂停释放状态;并向所述cpu发送中断指令,以使所述cpu根据所述中断指令配置为所述暂停释放状态;所述暂停释放状态用于指示停止释放所述指针资源。
7、在可选的实施方式中,所述方法还包括:
8、若所述当前指针资源数量小于或等于所述指针资源阈值,且所述dma以及所述cpu均为所述暂停释放状态,则配置所述dma处于继续释放状态;并向所述cpu发送恢复指令,以使所述cpu根据所述恢复指令配置为所述继续释放状态;所述继续释放状态用于指示继续释放所述指针资源。
9、在可选的实施方式中,所述bpp管理模块中设置有暂停信号位以及指令位;所述配置所述dma处于暂停释放状态的步骤,包括:
10、将所述暂停信号位配置为所述暂停释放状态,以配置所述dma处于暂停释放状态;
11、所述向所述cpu发送中断指令,以使所述cpu根据所述中断指令配置为所述暂停释放状态的步骤,包括:
12、将所述指令位配置为所述暂停释放状态,并向所述cpu发送所述中断指令;
13、所述配置所述dma处于继续释放状态的步骤,包括:
14、将所述暂停信号为配置为所述继续释放状态,以配置所述dma处于继续释放状态;
15、所述向所述cpu发送恢复指令,以使所述cpu根据所述恢复指令配置为所述继续释放状态的步骤,包括:
16、将所述指令位配置为所述继续释放状态,并向所述cpu发送所述恢复指令。
17、在可选的实施方式中,所述指令位包括中断指令位。
18、在可选的实施方式中,所述指令位包括中断指令位以及恢复指令位。
19、第二方面,本专利技术提供一种缓存管理装置,应用于交换芯片的bpp管理模块,所述bpp管理模块分别与所述交换芯片的dma以及cpu通信连接;所述装置包括:
20、指针资源接收模块,用于接收到指针资源;所述指针资源由所述dma和/或所述cpu处于继续释放状态时释放;所述继续释放状态用于指示继续释放所述指针资源;
21、当前指针资源数量获取模块,用于根据所述指针资源对所述bpp管理模块的指针资源的数量进行更新,获得当前指针资源数量;
22、比较模块,用于将所述当前指针资源数量与指针资源阈值进行比较;
23、状态配置模块,用于若所述当前指针资源数量大于所述指针资源阈值,则配置所述dma处于暂停释放状态;并向所述cpu发送中断指令,以使所述cpu根据所述中断指令配置为所述暂停释放状态;所述暂停释放状态用于指示停止释放所述指针资源。
24、在可选的实施方式中,所述状态配置模块还用于若所述当前指针资源数量小于或等于所述指针资源阈值,且所述dma以及所述cpu均为所述暂停释放状态,则配置所述dma处于继续释放状态;并向所述cpu发送恢复指令,以使所述cpu根据所述恢复指令配置为所述继续释放状态。
25、在可选的实施方式中,所述bpp管理模块中设置有暂停信号位以及指令位;
26、所述状态配置模块还用于若所述当前指针资源数量大于所述指针资源阈值,则将所述暂停信号位配置为所述暂停释放状态,以配置所述dma处于暂停释放状态;将所述指令位配置为所述暂停释放状态,并向所述cpu发送所述中断指令;
27、所述状态配置模块还用于若所述当前指针资源数量小于或等于所述指针资源阈值,且所述dma以及所述cpu均为所述暂停释放状态,则将所述暂停信号为配置为所述继续释放状态,以配置所述dma处于继续释放状态;将所述指令位配置为所述继续释放状态,并向所述cpu发送所述恢复指令。
28、第三方面,本专利技术提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行的计算机程序以实现前述实施方式任一所述的缓存管理方法。
29、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的缓存管理方法。
30、本专利技术实施例提供的缓存管理方法、装置、电子设备和计算机可读存储介质,应用于交换芯片的bpp管理模块,bpp管理模块分别与交换芯片的dma以及cpu通信连接,该方法包括:接收到指针资源,指针资源由dma和/或cpu处于继续释放状态时释放,根据指针资源对bpp管理模块的指针资源的数量进行更新,获得当前指针资源数量,将当前指针资源数量与指针资源阈值进行比较,若当前指针资源数量大于指针资源阈值,则配置dma处于暂停释放状态,并向cpu发送中断指令,以使cpu根据中断指令配置为暂停释放状态,暂停释放状态用于指示停止释放指针资源。通过设置指针资源阈值,当当前指针资源数量大于指针资源阈值时,控制cpu和dma停止释放指针资源,避免出现bpp管理模块释放指针回写ddr被堵住的情况,从而可以防止指针丢失,内本文档来自技高网...
【技术保护点】
1.一种缓存管理方法,其特征在于,应用于交换芯片的BPP管理模块,所述BPP管理模块分别与所述交换芯片的DMA以及CPU通信连接;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述BPP管理模块中设置有暂停信号位以及指令位;所述配置所述DMA处于暂停释放状态的步骤,包括:
4.根据权利要求3所述的方法,其特征在于,所述指令位包括中断指令位。
5.根据权利要求3所述的方法,其特征在于,所述指令位包括中断指令位以及恢复指令位。
6.一种缓存管理装置,其特征在于,应用于交换芯片的BPP管理模块,所述BPP管理模块分别与所述交换芯片的DMA以及CPU通信连接;所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述状态配置模块还用于若所述当前指针资源数量小于或等于所述指针资源阈值,且所述DMA以及所述CPU均为所述暂停释放状态,则配置所述DMA处于继续释放状态;并向所述CPU发送恢复指令,以使所述CPU根据所述恢复指令配置为所述继续释放状态
8.根据权利要求7所述的装置,其特征在于,所述BPP管理模块中设置有暂停信号位以及指令位;
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行的计算机程序以实现权利要求1-5任一所述的缓存管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的缓存管理方法。
...【技术特征摘要】
1.一种缓存管理方法,其特征在于,应用于交换芯片的bpp管理模块,所述bpp管理模块分别与所述交换芯片的dma以及cpu通信连接;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述bpp管理模块中设置有暂停信号位以及指令位;所述配置所述dma处于暂停释放状态的步骤,包括:
4.根据权利要求3所述的方法,其特征在于,所述指令位包括中断指令位。
5.根据权利要求3所述的方法,其特征在于,所述指令位包括中断指令位以及恢复指令位。
6.一种缓存管理装置,其特征在于,应用于交换芯片的bpp管理模块,所述bpp管理模块分别与所述交换芯片的dma以及cpu通信连接;所述装置包括:
7...
【专利技术属性】
技术研发人员:李磊,王淑,秦欢,吴慧琳,
申请(专利权)人:苏州盛科通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。