soft lockup和hard lockup的检测原理
对于lockup问题处理,首先需要明确什么是lockup?它在什么情况下会被触发?本来就来聊聊这两种lockup是怎么检测的。soft lockup内核在每个CPU上都启动了一个watchdog线程,该线程被定期唤醒并记录per cpu的时间戳,同时启动的还有per-cpu的hrtimer,当hrtimer中断到来时会触发中断处理,在中断处理函数中会读取当前时间戳并与watchdog线程记录的时间做比较,如果两者相差超过一定范围(可以配置的watchdog_thresh)就会触发soft loc