未关中断情况下的hardlock
最近遇到一例crash,3.10内核,hardlock,查看对应的堆栈,中断是使能的。 查看对应的hrtimer_interrupts和hrtimer_interrupt_save的值,发现确实相等。 具体可参考: 百思不得其解,然后咨询os的同事茂春兄,然后他很轻描淡写第说,他遇到过,并随手给了个链接: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/kernel/watchdog.c?id=7edaeb6841dfb27e362288ab8466ebdc4972e867 你看,多个兄弟多么关键,搞内核,永远不要一个人战斗。 另外,顺带看了一下touch_nmi_watchdog的用法,比如为了避免在printk的时候,遇到nmi,nmi中有可能调用printk,这样就非递归情况下变成死锁了, 那么printk调用一下touch_nmi_watchdog,安抚一下那只狗狗。 来源: https://www.cnblogs.com/10087622blog/p/11728836.html