2011-09-13 20 views
5

È possibile creare dati locali del thread in un modulo del kernel di Linux?Inserire i dati locali nel modulo del kernel linux

Ho bisogno di memorizzare alcuni dati per ogni processo/thread chiamando il mio modulo. Esiste un modo semplice per utilizzare i dati locali dei thread oppure devo ricorrere a scrivendo una mappa hash che utilizza il pid del processo corrente come chiave?

+0

Sono abbastanza sicuro che dovresti collegarlo in qualche modo alla struttura dell'attività ... –

risposta

4

Supponendo che l'interfaccia per il modulo del kernel sia un driver di periferica di carattere, allora si dispone di un campo private_data nella struttura del file (che è analogo al descrittore di file dello spazio utente) esattamente per quello.

Basta allocare e assegnare un puntatore alla struttura di scelta all'operazione di apertura del file.

Non è esattamente thread o processo locale, ma nella maggior parte dei casi una mappatura di un descrittore di file per il processo è vera e potrebbe essere abbastanza buona per voi.

+0

Grazie mille, sembra proprio quello che stavo cercando – ar31

Problemi correlati