Linuxカーネルモジュールでスレッドローカルデータを作成することはできますか?Linuxカーネルモジュールのスレッドローカルデータ
私のモジュールを呼び出すプロセス/スレッドごとにいくつかのデータを保存する必要があります。 スレッドローカルデータを使用する簡単な方法はありますか、または 現在のプロセスのPIDをキーとして使用するハッシュマップを作成する必要がありますか?
Linuxカーネルモジュールでスレッドローカルデータを作成することはできますか?Linuxカーネルモジュールのスレッドローカルデータ
私のモジュールを呼び出すプロセス/スレッドごとにいくつかのデータを保存する必要があります。 スレッドローカルデータを使用する簡単な方法はありますか、または 現在のプロセスのPIDをキーとして使用するハッシュマップを作成する必要がありますか?
カーネルモジュールがキャラクタデバイスドライバであると仮定すると、ファイル構造体(ユーザー空間ファイル記述子に似ています)にprivate_dataフィールドがあります。
ファイルのオープン操作時に選択した構造体にポインタを割り当てて割り当てます。
これはスレッドまたはプロセスローカルではありませんが、ほとんどの場合、1つのファイルディスクリプタとプロセスのマッピングが真であり、十分な場合があります。
ありがとう、私が探していたもののように聞こえる – ar31
私はあなたが何とかそれをタスク構造とリンクさせることになっていると確信しています... –