5

是否可以在 linux 内核模块中创建线程本地数据?

我需要为调用我的模块的每个进程/线程存储一些数据。有没有一种使用线程本地数据的简单方法,还是我必须求助于编写一个使用当前进程的 pid 作为键的哈希映射?

4

1 回答 1

4

假设您的内核模块的接口是一个字符设备驱动程序,那么您在文件结构(类似于用户空间文件描述符)中有一个 private_data 字段正是为此。

只需在打开文件操作时分配并分配一个指向您选择的结构的指针。

它不完全是线程或进程本地的,但在大多数情况下,一个文件描述符到您的进程的映射是正确的,它可能对您来说已经足够了。

于 2011-09-13T14:51:51.140 回答