Trace-irqoff
Open Source Repo

个人总结:

  • 对于hardirq的关闭检测,是通过定期的hrtimer来判断的,hrtimer执行的上下文就是hardirq,利用相邻两次hrtimer的时间间隔来评估hardirq的关闭时间
  • 对于softirq,是利用普通的定时器timer(执行的上下文就是softirq)两次执行的时间间隔来采样两次相邻softirq之间的时间间隔,因此检测的不仅仅是softirq的关闭时间。当第二次的timer执行在ksoftirqd进程时,打印出的堆栈就没有意义了,此时,利用hrtimer(在hardirq上下文中)来记录softirq多长时间没有得到执行