2011-09-13 63 views
5

是否可以在Linux內核模塊中創建線程本地數據?在Linux內核模塊中線程本地數據

我需要爲調用我的模塊的每個進程/線程存儲一些數據。 有使用線程本地數據的簡單方法,還是我不得不求助於 編寫一個使用當前進程的PID作爲密鑰的哈希映射?

+0

我敢肯定,你應該以某種方式將它與任務結構鏈接起來...... –

回答

4

假設你的內核模塊的接口是一個字符設備驅動程序,那麼你在文件結構中有一個private_data字段(類似於用戶空間文件描述符)。

只需在打開的文件操作中爲它分配並指定一個指向您選擇的結構的指針即可。

它不完全是線程或進程本地,但在大多數情況下,一個文件描述符到您的過程的映射是真實的,它可能對你來說已經足夠好了。

+0

非常感謝,這聽起來就像我一直在尋找 – ar31