Nar*_*uil 7 c linux linux-kernel data-structures
我正在为Linux编写可加载的内核模块.我需要为Linux内核中的每个任务存储一些数据(这些数据将用于调度程序回调).
我知道我可以修改struct task_struct并插入自己的字段.但由于我愿意编写一个相对干净的内核模块,我无法修改原始Linux源代码树中的任何代码.
也可以struct task_struct在哈希表中维护某种映射到我的数据.但它似乎有点过于沉重.
我已经在linux内核模块的Thread本地数据中读到了答案.它提到使用private_datain struct file.但它需要每个线程打开它才能得到一个struct file.并且无法使用a查询每任务数据struct task_struct.(因为我需要在调度程序回调中使用数据)
我的问题是:是否有任何简单而干净的方法允许我在Linux内核中注册每任务数据结构而无需修改struct task_struct?
非常感谢!
允许您注册每个任务数据结构的唯一简单而干净的方法是修改struct task_struct.
模块是为内核的可选部分而设计的;它们只能使用从基本内核显式导出的函数。如果必须更改基本内核,则不能再使用模块。
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |