一种中断处理方法及装置制造方法及图纸

技术编号:34887890 阅读:13 留言:0更新日期:2022-09-10 13:45
本申请提供一种中断处理方法及装置。该方法应用于转发设备中的多核CPU中的控制核,且包括:在接收到转发设备中的任一转发芯片发送的DMA中断请求时,通过PCIE通道向该转发芯片发送用于表征控制核已接收到DMA中断请求的DMA中断响应;查询多核CPU中的指定存储空间内存储的值为设定值的中断标志位,并唤醒多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由业务核在转发完对应的DMA转发队列中的业务报文后通过PCIE通道向该转发芯片发送转发完成消息。本申请可提高与DMA中断请求相关联的业务报文的转发效率。率。率。

【技术实现步骤摘要】
一种中断处理方法及装置


[0001]本申请涉及通信
,尤其涉及一种中断处理方法及装置。

技术介绍

[0002]在一种通信网络中,该通信网络中的任一转发设备(例如路由设备等)可以包括有多个转发芯片和一个多核中央处理器(Central Processing Unit,CPU)等。其中,每个转发芯片与多核CPU之间建立有快速外部设备互连(Peripheral Component Interconnect Express,PCIE)通道,并且,多核CPU可以包括有一个控制核和多个业务核。
[0003]对于该转发设备中的任一转发芯片(如图1所示)而言,每当通过自身所属的转发设备上的网口(例如,网口1)接收到业务报文时,会通过PCIE通道将该业务报文采用直接内存访问(Direct Memory Access,DMA)方式写入到多核CPU中的由该转发芯片确定出的存放该业务报文的DMA转发队列中,同时还会生成一个该DMA转发队列对应的DMA中断,并且,将该转发芯片上的中断标志寄存器中的该DMA转发队列对应的中断标志位的值由初始值(例如,0)设置为设定值(例如,1);然后,该转发芯片通过PCIE通道将该DMA中断上报给多核CPU中的控制核。
[0004]该控制核在接收到该DMA中断后,会通过PCIE通道查询该转发芯片上的中断标志寄存器,并唤醒需要转发查询到的值为设定值的中断标志位对应的DMA转发队列中的业务报文的业务核处理对应的DMA转发队列中的业务报文,后续相应的业务核在转发完相应的业务报文后,还会通过PCIE通道将中断标志寄存器上的所有的DMA转发队列对应的中断标志位的值设置为初始值。
[0005]在上述DMA中断请求的处理过程中,该控制核需要通过PCIE通道查询中断标志寄存器,才能获得值为设定值的中断标志位,这样一来,可能会受网络延时等因素影响,导致该控制核无法及时查询到值为设定值的中断标志位,进而影响相关业务核转发相关业务报文的转发效率。并且,在该转发芯片频繁上报DMA中断请求的情形下,会影响该控制核处理DMA中断请求的速度,同样影响相关业务核转发相关业务报文的转发效率,还容易出现部分DMA中断请求被多报或者漏报的问题。

技术实现思路

[0006]为克服相关技术中存在的问题,本申请提供了一种中断处理方法及装置。
[0007]根据本申请实施例的第一方面,提供一种中断处理方法,所述方法应用于转发设备中的任一转发芯片,所述方法包括:
[0008]在首次将确定出的自身接收到的满足预设条件的多个业务报文通过PCIE通道以DMA方式写入到所述转发设备中的多核CPU中的用于存放所述业务报文的DMA转发队列中后,生成一个所述DMA转发队列对应的DMA中断请求;
[0009]将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值;
[0010]通过所述PCIE通道将所述DMA中断请求上报给所述多核CPU中的控制核,将本地的
所有的DMA转发队列对应的中断标志位及其对应的值刷新到所述多核CPU中的指定存储空间中,并将所有的中断标志位的值恢复为所述初始值,以使所述控制核在接收到所述DMA中断请求时,通过所述PCIE通道向所述转发芯片发送用于表征所述控制核已接收到所述DMA中断请求的DMA中断响应,查询所述指定存储空间内存储的值为设定值的中断标志位,并唤醒所述多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由所述业务核在转发完对应的DMA转发队列中的业务报文后,通过所述PCIE通道向该转发芯片发送转发完成消息;
[0011]在接收到所述控制核发送的所述DMA中断响应和所述业务核发送的所述转发完成消息时,判断本地是否存在已生成且未上报的DMA中断请求;
[0012]在判断结果为是时,将生成时间与所述DMA中断请求的生成时间最接近的已生成且未上报的DMA中断请求作为所述DMA中断请求,执行将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值的步骤;
[0013]在判断结果为否时,执行等待操作,并在等待到自身生成了新的DMA中断请求时,将所述新的DMA中断请求作为所述DMA中断请求,执行将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值的步骤。
[0014]根据本申请实施例的第二方面,提供一种中断处理方法,所述方法应用于转发设备中的多核CPU中的控制核,所述方法包括:
[0015]在接收到所述转发设备中的任一转发芯片发送的DMA中断请求时,通过PCIE通道向该转发芯片发送用于表征所述控制核已接收到所述DMA中断请求的DMA中断响应,其中,所述DMA中断请求为该转发芯片在任意一次将确定出的自身接收到的满足预设条件的多个业务报文通过所述PCIE通道以DMA方式写入到所述多核CPU中的用于存放所述业务报文的DMA转发队列中后生成的;
[0016]查询所述多核CPU中的指定存储空间内存储的值为设定值的中断标志位,并唤醒所述多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由所述业务核在转发完对应的DMA转发队列中的业务报文后通过所述PCIE通道向该转发芯片发送转发完成消息;其中,所述指定存储空间内存储有该转发芯片刷新过来的该转发芯片上所有的DMA转发队列对应的中断标志位及其对应的值,且在所有的DMA转发队列对应的中断标志位中,所述DMA转发队列对应的中断标志位的值被该转发芯片在上报所述DMA中断请求后由初始值设置为设定值,剩余的中断标志位的值为初始值。
[0017]根据本申请实施例的第三方面,提供一种中断处理装置,所述装置应用于转发设备中的任一转发芯片,所述装置包括:
[0018]生成模块,用于在首次将确定出的自身接收到的满足预设条件的多个业务报文通过PCIE通道以DMA方式写入到所述转发设备中的多核CPU中的用于存放所述业务报文的DMA转发队列中后,生成一个所述DMA转发队列对应的DMA中断请求;
[0019]设置模块,用于将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值;
[0020]处理模块,用于通过所述PCIE通道将所述DMA中断请求上报给所述多核CPU中的控制核,将本地的所有的DMA转发队列对应的中断标志位及其对应的值刷新到所述多核CPU中
的指定存储空间中,并将所有的中断标志位的值恢复为所述初始值,以使所述控制核在接收到所述DMA中断请求时,通过所述PCIE通道向所述转发芯片发送用于表征所述控制核已接收到所述DMA中断请求的DMA中断响应,查询所述指定存储空间内存储的值为设定值的中断标志位,并唤醒所述多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由所述业务核在转发完对应的DMA转发队列中的业务报文后,通过所述PCIE通道向该转发芯片发送转发完本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断处理方法,其特征在于,所述方法应用于转发设备中的任一转发芯片,所述方法包括:在首次将确定出的自身接收到的满足预设条件的多个业务报文通过PCIE通道以DMA方式写入到所述转发设备中的多核CPU中的用于存放所述业务报文的DMA转发队列中后,生成一个所述DMA转发队列对应的DMA中断请求;将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值;通过所述PCIE通道将所述DMA中断请求上报给所述多核CPU中的控制核,将本地的所有的DMA转发队列对应的中断标志位及其对应的值刷新到所述多核CPU中的指定存储空间中,并将所有的中断标志位的值恢复为所述初始值,以使所述控制核在接收到所述DMA中断请求时,通过所述PCIE通道向所述转发芯片发送用于表征所述控制核已接收到所述DMA中断请求的DMA中断响应,查询所述指定存储空间内存储的值为设定值的中断标志位,并唤醒所述多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由所述业务核在转发完对应的DMA转发队列中的业务报文后,通过所述PCIE通道向该转发芯片发送转发完成消息;在接收到所述控制核发送的所述DMA中断响应和所述业务核发送的所述转发完成消息时,判断本地是否存在已生成且未上报的DMA中断请求;在判断结果为是时,将生成时间与所述DMA中断请求的生成时间最接近的已生成且未上报的DMA中断请求作为所述DMA中断请求,执行将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值的步骤;在判断结果为否时,执行等待操作,并在等待到自身生成了新的DMA中断请求时,将所述新的DMA中断请求作为所述DMA中断请求,执行将本地的所述DMA转发队列对应的中断标志位的值由初始值设置为设定值的步骤。2.根据权利要求1所述的方法,其特征在于,通过以下方式确定自身接收到的满足预设条件的业务报文:若监测到设置在自身上的定时器超时但在所述定时器的超时时长内接收到的业务报文的总数量不大于设定数量,则将在所述超时时长内接收到的所有的业务报文确定为自身接收到的满足预设条件的业务报文;若监测到所述定时器未超时但已接收到所述设定数量个业务报文,则将已接收到的所述设定数量个业务报文确定为自身接收到的满足预设条件的业务报文。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在通过所述PCIE通道将所述DMA中断请求上报给所述控制核之后,若在设定时长内未接收到所述控制核通过所述PCIE通道发送的所述DMA中断响应,则重新通过所述PCIE通道将所述DMA中断请求上报给所述控制核。4.一种中断处理方法,其特征在于,所述方法应用于转发设备中的多核CPU中的控制核,所述方法包括:在接收到所述转发设备中的任一转发芯片发送的DMA中断请求时,通过PCIE通道向该转发芯片发送用于表征所述控制核已接收到所述DMA中断请求的DMA中断响应,其中,所述DMA中断请求为该转发芯片在任意一次将确定出的自身接收到的满足预设条件的多个业务报文通过所述PCIE通道以DMA方式写入到所述多核CPU中的用于存放所述业务报文的DMA转
发队列中后生成的;查询所述多核CPU中的指定存储空间内存储的值为设定值的中断标志位,并唤醒所述多核CPU中的需要转发查询到的中断标志位对应的DMA转发队列中的业务报文的业务核转发对应的DMA转发队列中的业务报文,以由所述业务核在转发完对应的DMA转发队列中的业务报文后通过所述PCIE通道向该转发芯片发送转发完成消息;其中,所述指定存储空间内存储有该转发芯片刷新过来的该转发芯片上所有的DMA转发队列对应的中断标志位及其对应的值,且在所有的DMA转发队列对应的中断标志位中,所述DMA转发队列对应的中断标志位的值被该转发芯片在上报所述DMA中断请求后由初始值设置为设定值,剩余的中断标志位的值为初始值。5.一种中断处理装置,其特征在于,所述装置应用于转发设备中的任一转发芯片,所述装置包括:生成模块,用...

【专利技术属性】
技术研发人员:郭建华张飞
申请(专利权)人:新华三技术有限公司合肥分公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1