カーネルモジュールを正しくリロードする方法は?

カーネルモジュールを正しくリロードする方法は?

関連質問

新しいフラグを試すためにカーネルモジュールを再ロードすることはできません。
例:thinkpad_acpiデフォルトはnoneですfan_control=1。したがって、コンピュータが非常に熱く、ファンが最高速度で動作しない場合は、モジュールを一時的にロードし、数分間fan_controlファンを可能な限り最高速度に設定してから、すべてを再度変更することがあります。正常に。
一部のカーネルモジュールは他のモジュールに依存しているようで、最新のLinuxカーネルがこれを確認しているように見えるため、これは不可能です。
だから今まで私がしたことは次のとおりです。

  • 依存関係の確認
    • modinfo -F depends thinkpad_acpi
  • このモジュールを削除してみてください
    • rmmodまたはmodprobe -r $dependencies
    • 一部のモジュールは他のモジュールに依存しているため、そのモジュールも削除してみてください。 「依存関係」がなければ動作しません(または少なくともmodinfoが私にこれを伝えます)。
  • Googleがたくさんmodprobe: FATAL: Module x is in use.
  • 読むTLDP

答え1

カーネルで強制削除が有効になっている場合(zgrep FORCE_UNLOAD /proc/config.gz上記のように)、問題のカーネルモジュールを強制的に削除=yできます。rmmod -f

~によるとこの機能を有効にするパッチ、これはカーネル開発者と切迫した人々にのみ当てはまります。

最善のアプローチは、おそらくモジュールが使用される理由と、どのプロセスで使用されるのかを把握することです。ただし、少なくとも強制アンロードを実行すると、モジュールを再ロードできる必要があります。

関連情報