linux 6.12.x に更新したところ e1000eのドライバが頻繁にフリーズするようになりました
症状としては
- カーネルは linux 6.12.1 or linux 6.12.2
- 突然,ネットワーク(有線LAN)の通信が出来なくなる
- dmesg を見るとe1000eのドライバが エラーを出している
- linux 6.11 に戻すと再現しない
dmesg のエラーはこういう感じです
e1000e 0000:00:1f.6 eth0: NETDEV WATCHDOG: CPU: 8: transmit queue 0 timed out 5304 ms
調べてみると,これはe1000eにあるTSO (TCP Segmentation Offload)関連の不具合で,パケットが大量に殺到すると e1000eのドライバがパンクするということのようです
正確な原因は不明ですが,以下のコマンドでTSOを無効にしたら,フリーズしなくなりました
$ sudo ethtool -K eth0 tso off
eth0 の部分はe1000eのデバイス名です.
正確な原因,対処方法は不明ですがとりあえずこちらに書いておきます