โดยพื้นฐานแล้วการบันทึกนี้จะถูกทริกเกอร์หากตัวกำหนดตารางเวลาของ CPU ไม่ได้เปลี่ยนเป็นกระบวนการในระยะเวลาที่กำหนดและกระบวนการไม่ได้รับการยกเว้น
ข้อยกเว้นเป็นกรณีพิเศษที่ไม่ได้เปลี่ยนกระบวนการ แต่ไม่ควรบันทึก ฉันไม่เข้าใจเงื่อนไขสำหรับข้อยกเว้นอย่างชัดเจน FWIW ความคิดเห็นเกี่ยวกับเคสในโค้ดคือ:
Also, skip vfork and any other user process that freezer should skip.
Also, when a freshly created task is scheduled once, changes
its state to TASK_UNINTERRUPTIBLE without having ever been
switched out once, it musn't be checked.
http://lxr.free-electrons.com/source/kernel/hung_task.c#L75
สำหรับสาเหตุที่งานอาจไม่ได้ถูกจัดกำหนดการไว้เป็นเวลานานมันอยู่ในสถานะ TASK_UNINTERRUPTABLE ('D') อย่างต่อเนื่องจะเป็นโอกาสหนึ่ง แต่ฉันไม่รู้ว่าคนอื่นจะมีอะไร