CN105224411B - 一种避免cpu被耗尽导致看门狗重启的方法 - Google Patents

一种避免cpu被耗尽导致看门狗重启的方法 Download PDF

Info

Publication number
CN105224411B
CN105224411B CN201510612825.3A CN201510612825A CN105224411B CN 105224411 B CN105224411 B CN 105224411B CN 201510612825 A CN201510612825 A CN 201510612825A CN 105224411 B CN105224411 B CN 105224411B
Authority
CN
China
Prior art keywords
dog
cpu
user space
house dog
kernel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201510612825.3A
Other languages
English (en)
Other versions
CN105224411A (zh
Inventor
王飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Guangda Hengji Communication Technology Co., Ltd
Original Assignee
Chengdu Guangda New Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Guangda New Network Technology Co Ltd filed Critical Chengdu Guangda New Network Technology Co Ltd
Priority to CN201510612825.3A priority Critical patent/CN105224411B/zh
Publication of CN105224411A publication Critical patent/CN105224411A/zh
Application granted granted Critical
Publication of CN105224411B publication Critical patent/CN105224411B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及EOC局端设备流量报文处理领域,尤其是一种避免CPU被耗尽导致看门狗重启的方法。本发明针对现有技术中存在的问题,本发明提供了一种避免CPU被耗尽导致看门狗重启的方法,内核转发模块与看门狗内核程序交互作用,很好地解决前面场景出现的问题。本发明技术方式当出现用户态看门狗程序没有正常喂狗时候,内核转发模块进入检测状态,在检测时间内统计报文个数,如果报文个数超过定义阀值,则系统进入了CPU被内核转发耗尽的状态,内核转发模块代替用户态看门狗程序执行内核喂狗,避免看门狗重启系统。而报文个数未超过定义阀值,则不属于CPU被转发耗尽状态,而是系统出现了异常,看门狗重启系统。

Description

一种避免CPU被耗尽导致看门狗重启的方法
技术领域
本发明涉及EOC局端设备流量报文处理领域,尤其是一种避免CPU被耗尽导致看门狗重启的方法。
背景技术
EOC原文是“Ethernet over Coax”,也就是以太网信号在同轴电缆上的一种传输技术。
EOC分为EOC局端设备和EOC终端设备,EOC终端设备直接连接到用户,EOC局端设备则连接到数据网络,如图1所示,用户通过EOC终端和局端设备与数据网络进行通信。
看门狗技术被广泛应用于嵌入式软件系统,充当系统“警察”的角色,当系统发生严重错误(比如程序进入死循环或者其它异常状态)不能恢复的时候,看门狗能重启系统,避免
系统在无人干预被长时间挂起或处于严重异常的状态。看门狗技术在嵌入式系统中实现有多种方法,在采用嵌入式Linux的EOC系统中,通常在用户态APP中创建一个看门狗应用程序,它定时调用内核接口去对看门狗内核标志位进行置位,告知看门狗内核程序进行喂狗,避免看门狗计数器溢出导致系统复位。
如果EOC局端在某段时间(超过定时喂狗周期)内持续进行大量数据报文转发,使得CPU被内核转发完全占据(因为其收发包使用软中断优先级很高,用户态程序无法获取CPU),用户态看门狗应用程序由于无法获得CPU,不能调用看门狗内核接口进行喂狗操作,导致在正常高速数据转发中,系统误以为异常而被看门狗重启。现有技术方案一般是采取一次收发处理完上限个数的报文,内核转发主动退出以释放CPU,这种技术降低了突发流量处理能力。
发明内容
本发明所要解决的技术问题是:针对现有技术中EOC局端在某时间段因为大流量报文转发导致CPU被耗尽导致看门狗重启的问题,本发明提供了一种避免CPU被耗尽导致看门狗重启的方法,其在内核转发模块进行检测并帮助看门狗应用程序喂狗,当出现用户态看门狗程序没有正常喂狗时候,内核转发模块进入检测状态,在检测时间内统计报文个数,如果报文个数超过定义阀值(该值即CPU转发报文最大临界值,可动态配置),则认为系统进入了CPU被内核转发耗尽的状态,内核转发模块代替用户态看门狗程序执行内核喂狗,避免看门狗重启系统。而报文个数未超过定义阀值,则不属于CPU被转发耗尽状态,而是系统出现了异常,看门狗重启系统。在该方案中,内核转发模块与看门狗内核程序交互作用,很好地解决前面场景出现的问题。
本发明采用的技术方案如下:
一种避免CPU被耗尽导致看门狗重启的方法包括:
步骤1:用户态看门狗内核定时器初始化,设置喂狗时间周期等相关参数,开启周期检测任务;
步骤2:内核定时器周期t检测用户态看门狗模块能否获得CPU调度,若能获得CPU调度,则系统正常,用户态看门狗模块喂狗正常;否则,执行步骤3;
步骤3:内核转发模块延迟看门狗的重启,并在延迟的时间周期内进行转发报文统计;若在延迟的时间周期P内统计转发报文个数达到阀值S,则CPU被转发耗尽,内核转发模块帮助喂狗,执行步骤4;否则,用户态看门狗模块未获得CPU调度,系统异常,用户态看门狗模块重新启动;
步骤4:判断内核转发模块帮助喂狗持续时间m是否达到上限,若是达到上限,则系统异常,用户态看门狗模块重启;否则,内核转发模块帮助喂狗,执行步骤5;
步骤5:当用户态看门狗模块得到CPU调度,则结束内核转发模块帮助喂狗状态,将内核转发模块相关数据和状态清除,重新进入用户态喂狗的初始状态。
进一步的,所述步骤1中内核定时器周期t检测用户态看门狗模块能否获得CPU调度的判断依据:根据用户态看门狗模块喂狗周期时间到达时,喂狗状态标志是否置位判断,若置位,则表示用户态看门狗模块获得CPU调度,否则,表示用户态看门狗模块未获得CPU调度。
进一步的,所述t范围是10s到20s,所述m范围是1000s到1500s。
进一步的,所述p范围是3s到5s。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本方法采用内核转发模块与看门狗交互判断CPU当前状态,简单有效的解决EOC局端在某时间段因为大流量报文转发导致CPU被耗尽导致看门狗重启的问题。
使用该方法,不会影响当前数据转发性能和突发。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为EOC典型场景;
图2为本方法流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本专利相关说明:
用户态看门狗模块指的是用户态看门狗程序能正常得到CPU调度,调用看门狗内核程序进行喂狗处理。
本方法中使用到的一些检测参数,包括内核定时器检测周期t,延迟状态报文转发统计周期p,报文个数阈值S与设备使用的CPU有很大的关系,CPU处理能力越强,那么这些参数值和范围越小。要确立这些参数值,需要在具体设备上进行测试验证,获取稳定的测试数据后进行设置。笔者在使用Intel IXP420和PPC405EP两款CPU的EOC产品上,内核定时器对用户态看门狗喂狗检测周期t为10秒,延迟状态报文转发统计周期p为3秒,延迟状态内报文个数阈值S为27000个(9000个/秒)
工作原理:
用户态看门狗程序能正常得到CPU调度,调用看门狗内核程序进行喂狗处理,该情况无需内核转发模块参与。当用户态看门狗模块无法得到CPU调度,看门狗内核定时器周期检测,发现缺省喂狗时间周期到达而内核喂狗状态标志未置位(即未能喂狗将执行重启),此时看门狗不立即执行重启,而是进入内核转发模块临界检测,在检测周期(一般3-5秒)内统计转发报文个数是否达到定义的阀值,若是则认为系统进入CPU被转发耗尽状态,此种情况由内核转发模块帮助喂狗避免重启;否则认为系统进入异常状态,看门狗重启系统。内核转发模块持续帮助喂狗最长时间应有上限,作为系统参数该阀值可配置,当超过阀值则认为这种较长时间CPU被转发耗尽状态也属于异常状态,需要重启;在内核转发模块帮助喂狗持续时间未超过上限阀值的过程中,一旦用户态看门狗模块得到CPU调度,则结束内核转发模块帮助喂狗状态,将内核转发模块相关数据和状态清除,重新进入用户态喂狗的初始状态。
具体实施方式:如图2所述,
1. 看门狗内核定时器初始化,设置喂狗时间周期等相关参数,开启周期检测任务。
2. 用户态看门狗模块是否获得CPU调度判断逻辑,根据喂狗周期时间到达时喂狗状态
标志是否置位判断,若置位则表示获得CPU调度,否则表示未获得CPU。
3. 用户态看门狗模块获得CPU调度,看门狗对系统进行了正常的喂狗操作;
4. 用户态看门狗模块不能获得CPU调度,进入内核转发模块临界检测处理。
5. 内核转发模块临界检测处理延迟看门狗的重启,在延迟的时间周期内进行转发报文统计,根据统计的转发报文个数进行CPU是否进入转发耗尽状态的判定。
6. CPU是否被转发耗尽判定,临界检测周期内转发报文个数达到定义的阀值,则认为CPU
进入转发耗尽状态;否则未进入转发耗尽状态。
7. CPU未进入转发耗尽状态,用户态看门狗应用程序也未获得调度,系统异常,看门狗重启系统。
8. CPU进入转发耗尽状态状态,检测到当前为止内核转发模块持续帮助喂狗时间是否达到上限阀值。
9. CPU在转发耗尽状态下,内核转发模块帮助看门狗喂狗持续时间达到上限阀值,认为系统处于异常状态,不再帮助喂狗,而是由看门狗重启系统。
10. CPU在转发耗尽状态下,内核转发模块帮助看门狗喂狗持续时间在规定门限内,内核转发模块帮助看门狗喂狗。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (3)

1.一种避免CPU被耗尽导致看门狗重启的方法,其特征在于包括:
步骤1:用户态看门狗内核定时器初始化,设置喂狗时间周期,开启周期检测任务;
步骤2:内核定时器以t为周期检测用户态看门狗模块能否获得CPU调度,若能获得CPU调度,则系统正常,用户态看门狗模块喂狗正常;否则,执行步骤3;
步骤3:内核转发模块延迟看门狗的重启,并在延迟的时间周期内进行转发报文统计;若在延迟的时间周期P内统计转发报文个数达到阀值S,则CPU被内核转发耗尽,内核转发模块帮助喂狗,执行步骤4;否则,用户态看门狗模块未获得CPU调度,系统异常,用户态看门狗模块重新启动;
步骤4:判断内核转发模块帮助喂狗持续时间m是否达到上限,若是达到上限,则系统异常,用户态看门狗模块重启;否则,内核转发模块帮助喂狗,执行步骤5;
步骤5:当用户态看门狗模块得到CPU调度,则结束内核转发模块帮助喂狗状态,将内核转发模块相关数据和状态清除,重新进入用户态喂狗的初始状态;
所述步骤2中内核定时器以t为周期检测用户态看门狗模块能否获得CPU调度具体是:根据用户态看门狗模块喂狗周期时间到达时,喂狗状态标志是否置位判断,若置位,则表示用户态看门狗模块获得CPU调度,否则,表示用户态看门狗模块未获得CPU调度。
2.根据权利要求1所述的一种避免CPU被耗尽导致看门狗重启的方法,其特征在于所述t范围是10s到20s,所述m范围是1000s到1500s。
3.根据权利要求1所述的一种避免CPU被耗尽导致看门狗重启的方法,其特征在于所述P范围是3s到5s。
CN201510612825.3A 2015-09-24 2015-09-24 一种避免cpu被耗尽导致看门狗重启的方法 Expired - Fee Related CN105224411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510612825.3A CN105224411B (zh) 2015-09-24 2015-09-24 一种避免cpu被耗尽导致看门狗重启的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510612825.3A CN105224411B (zh) 2015-09-24 2015-09-24 一种避免cpu被耗尽导致看门狗重启的方法

Publications (2)

Publication Number Publication Date
CN105224411A CN105224411A (zh) 2016-01-06
CN105224411B true CN105224411B (zh) 2018-05-15

Family

ID=54993401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510612825.3A Expired - Fee Related CN105224411B (zh) 2015-09-24 2015-09-24 一种避免cpu被耗尽导致看门狗重启的方法

Country Status (1)

Country Link
CN (1) CN105224411B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762886B (zh) * 2018-05-08 2020-12-01 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN110297724A (zh) * 2019-06-27 2019-10-01 厦门四信通信科技有限公司 嵌入式软件看门狗设计方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081735A1 (fr) * 2005-02-01 2006-08-10 Emerson Network Power Co., Ltd. Méthode de contrôle par chien de garde
CN1920784A (zh) * 2006-08-10 2007-02-28 北京中星微电子有限公司 一种看门狗装置及看门狗中断预警方法
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN102214124A (zh) * 2011-06-08 2011-10-12 深圳市理邦精密仪器股份有限公司 一种看门狗复位控制系统
CN103324546A (zh) * 2013-06-25 2013-09-25 杭州华三通信技术有限公司 一种延时喂狗的方法及装置
CN203909782U (zh) * 2014-06-13 2014-10-29 中国航天科技集团公司第九研究院第七七一研究所 一种自适应处理器状态的看门狗电路控制模块

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081735A1 (fr) * 2005-02-01 2006-08-10 Emerson Network Power Co., Ltd. Méthode de contrôle par chien de garde
CN1920784A (zh) * 2006-08-10 2007-02-28 北京中星微电子有限公司 一种看门狗装置及看门狗中断预警方法
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN102214124A (zh) * 2011-06-08 2011-10-12 深圳市理邦精密仪器股份有限公司 一种看门狗复位控制系统
CN103324546A (zh) * 2013-06-25 2013-09-25 杭州华三通信技术有限公司 一种延时喂狗的方法及装置
CN203909782U (zh) * 2014-06-13 2014-10-29 中国航天科技集团公司第九研究院第七七一研究所 一种自适应处理器状态的看门狗电路控制模块

Also Published As

Publication number Publication date
CN105224411A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
CN110149220B (zh) 一种管理数据传输通道的方法及装置
US20150055478A1 (en) Congestion detection and management at congestion-tree roots
CN103929334A (zh) 网络异常通知方法和装置
WO2016107424A1 (zh) 一种链路状态检测方法、装置和系统
CN105224411B (zh) 一种避免cpu被耗尽导致看门狗重启的方法
CN102681909A (zh) 一种基于内存错误的服务器预警方法
JP5968841B2 (ja) ネットワーク装置及びプロセッサの監視方法
WO2016187979A1 (zh) 双向转发检测bfd报文的发送方法及装置
CN105159285B (zh) Can控制器总线故障处理方法和装置
CN105527564A (zh) Fpga内部功能自诊断方法与系统
CN109766197A (zh) 一种基于Android系统的4G模块稳定工作方法
CN102368729B (zh) 一种在非实时系统上精确网络限速的方法
CN109828945B (zh) 一种业务报文处理方法及系统
CN106201753B (zh) 一种基于linux中PCIE错误的处理方法及系统
CN113407391A (zh) 故障处理的方法、计算机系统、基板管理控制器和系统
US20120233245A1 (en) Voip communication system and method for registering client devices with same
US9929899B2 (en) Snapshot message
CN109617905B (zh) 多播攻击的处理方法、装置和实现装置
CN110213176B (zh) 交换机的报文处理方法、装置、设备及介质
JP2013115603A (ja) パケット中継装置およびシステム、障害検出方法
US8788735B2 (en) Interrupt control apparatus, interrupt control system, interrupt control method, and interrupt control program
CN113965523A (zh) 一种基于环路的pfc死锁的处理方法及装置
CN110932878A (zh) 一种分布式网络的管理方法、设备及系统
CN104348676A (zh) 一种基于操作管理维护oam的链路检测方法及设备
WO2014040470A1 (zh) 告警消息的处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200806

Address after: Floor 2, No.16, Gaopeng Avenue, high tech Zone, Chengdu, Sichuan 610000

Patentee after: Chengdu Guangda Hengji Communication Technology Co., Ltd

Address before: 610041 building four, building two, Shiyang Industrial Park, five village, Shiyang village, fifty-five village, Chengdu hi tech Zone, Sichuan, Qingyun

Patentee before: CHENGDU GUANGDA NEW NETWORK TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180515

Termination date: 20200924