我想打印当前进程或函数在其上执行的CPU编号,类似于下面的ftrace:
TASK-PID CPU# TIMESTAMP FUNCTION
| | | | |
<idle>-0 [002] 23636.756054: ttwu_do_activate.constprop.89 <-try_to_wake_up
<idle>-0 [002] 23636.756054: activate_task <-ttwu_do_activate.constprop.89
<idle>-0 [002] 23636.756055: enqueue_task <-activate_task如何获取该值?我认为它在start_kernel函数的某个函数中。我们能打印出它的值吗?我使用的是linux-4.1内核。
发布于 2017-01-26 18:09:43
要打印内核中的当前cpu,可以使用task_struct的cpu字段。请注意,应启用内核配置CONFIG_THREAD_INFO_IN_TASK。这将适用于4.9内核。
printk("My current cpu is %d\n", current->cpu);如果cpu字段不可用,也可以使用smp_processor_id()。
https://stackoverflow.com/questions/41870418
复制相似问题