Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以在 linux 内核模块中创建线程本地数据?
我需要为调用我的模块的每个进程/线程存储一些数据。有没有一种使用线程本地数据的简单方法,还是我必须求助于编写一个使用当前进程的 pid 作为键的哈希映射?
假设您的内核模块的接口是一个字符设备驱动程序,那么您在文件结构(类似于用户空间文件描述符)中有一个 private_data 字段正是为此。
只需在打开文件操作时分配并分配一个指向您选择的结构的指针。
它不完全是线程或进程本地的,但在大多数情况下,一个文件描述符到您的进程的映射是正确的,它可能对您来说已经足够了。