【问题标题】:Thread local data in linux kernel modulelinux内核模块中的线程本地数据
【发布时间】:2011-09-13 13:03:48
【问题描述】:

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

我需要为调用我的模块的每个进程/线程存储一些数据。 有没有使用线程本地数据的简单方法,还是我必须求助于 写一个以当前进程的pid为key的hash map?

【问题讨论】:

  • 我很确定你应该以某种方式将它与任务结构联系起来......

标签: c module linux-kernel thread-local


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢,这听起来就像我要找的一样
猜你喜欢
  • 2011-11-24
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 2012-04-11
  • 2013-12-17
相关资源
最近更新 更多