最近,当我尝试在 Ubuntu 16.04、内核版本 4.15 中进行一些内核驱动程序调试时,我遇到了内核跟踪机制,它可以非常方便地观察各种内核调度和工作队列内部结构。目前,我正在通过启用/sys/kernel/debug/tracing/events/workqueue/enable
事件进行调试,并检查输出日志。然而,我无法弄清楚的一件事是:
<idle>-0 [004] d.h. 5149.594018: workqueue_queue_work: work struct=00000000cd480b1b function=driver_function1 [driver1] workqueue=00000000f2ec5eb2 req_cpu=8192 cpu=4
application-name-7821 [004] d.h. 5135.079917: workqueue_queue_work: work struct=00000000cd480b1b function=driver_function1 [driver1] workqueue=00000000f2ec5eb2 req_cpu=8192 cpu=4
是什么意思<idle>-0
?为什么和driver_function1
可以调用相同的内核空间?<idle>-0
application-name
如果需要更多详细信息,请告诉我。谢谢。