是否可以在linux内核模块中创建线程本地数据?
我需要为调用我的模块的每个进程/线程存储一些数据。 有没有一种简单的方法来使用线程本地数据,或者我必须求助于 编写一个使用当前进程的pid作为密钥的哈希映射?
答案 0 :(得分:4)
假设您的内核模块的接口是一个字符设备驱动程序,那么您在文件结构中有一个private_data字段(类似于用户空间文件描述符)。
在打开文件操作时,只需分配并指定一个指向所选结构的指针。
它不是本地的线程或进程,但在大多数情况下,一个文件描述符到您的进程的映射是正确的,它可能对您来说已经足够了。