开发者

Thread local data in linux kernel module

开发者 https://www.devze.com 2023-04-04 18:08 出处:网络
Is it possible to create thread local data in a linux kernel module? I need to store some data for each process/thread calling my module.

Is it possible to create thread local data in a linux kernel module?

I need to store some data for each process/thread calling my module. Is there an easy way of using thread local data, or do I have to resort to writing a hash map which uses the pid of 开发者_运维问答the current process as a key?


Assuming the interface to you kernel module is a character device driver, then you have a private_data field in the file struct (which is analogous to user space file descriptor) exactly for that.

Just allocate and assign a pointer to your structure of choice at the open file operation to it.

It's not exactly thread or process local, but in most cases a mapping of one file descriptor to your process is true and it might be good enough for you.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号