When we enable CONFIG_DETECT_SOFTLOCKUP
to detect soft lockups, it creates a new task called khungtaskd
which will run every 1s. If khungtaskd
fails to get scheduled for 'n' seconds, then Kernel will declare a soft lockup.
My question is what are the reasons that prevent khungtaskd
from running? One that I found is- trying to acquire an already acquired spinlock in interrupt context. What are the other reasons which will lead to soft lockup?