检查挂起后恢复系统的 Linux 内核中断



>有谁知道如何检查哪个中断将系统从挂起中唤醒?

这个问题非常具体,但大多数平台都有一个中断控制器,它会在中断发生时告诉您活动的中断编号。如果问题与Linux有关,例如,对于 ARM 体系结构,可以在arch_irq_handler_default处检索中断号。当进程抢占(内核抢占和用户抢占都是可能的)发生时,您可以继续跟踪最新的 irq 编号。您可以参考 arch/arm/kernel/entry-armv 中的代码。S 表示 arm 平台,用于了解中断处理流程。

这与 Linux 无关,用于提醒操作系统暂停机器(例如合上盖子时)并再次唤醒的机制由平台定义。在 Linux 的情况下,该过程最终由用户空间控制,因为您可以"手动"暂停并配置为在盖子关闭时不暂停等。

最新更新