首页 > 解决方案 > 'current_task' 的值在不同版本的 linux 内核中是什么意思?

问题描述

我知道它current_task保存了task_struct *每个 cpu 的指针地址。

但是,当在不同的内核版本中读取这个符号值时,我得到了不同的结果。

4.19.65内核中,我抓住它cat /proc/kallsyms | grep current_task并得到:

0000000000015c40 A current_task

这意味着它是一个绝对值。

4.20.13内核中,我得到:

ffffffffbea3a040 D current_task

这意味着它在数据部分。

我使用4.19.65内核的默认配置。但是,我还没有4.20.13. 我想知道值的含义是否与内核版本或内核配置有关?当它持有绝对值时,内核如何找到current_task指针?

标签: linuxkerneltask

解决方案


推荐阅读