[sisyphus] Что же делать с интеловской сетевухой?

Alexei V. Mezin alexei.mezin на gmail.com
Чт Авг 19 21:16:33 MSK 2021


Или с systemd? Или с etcnet?

Дано: компьютер с интеловской сетевухой, обслуживается модулем e1000e, 
система p9.

Под малейшей нагрузкой сетевуха "подвисает", выглядит вот так:

   [635.855986] e1000e 0000:00:19.0 lan: Detected Hardware Unit Hang:
                  TDH                  <e6>
                  TDT                  <12>
                  next_to_use          <12>
                  next_to_clean        <e2>
                buffer_info[next_to_clean]:
                  time_stamp           <100051428>
                  next_to_watch        <e6>
                  jiffies              <100051ec0>
                  next_to_watch.status <0>
                MAC Status             <80283>
                PHY Status             <792d>
                PHY 1000BASE-T Status  <3800>
                PHY Extended Status    <3000>
                PCI Status             <10>

В интернетах пишут, что давно известный то ли баг, то ли фича 
интеловских драйверов, и что даже в 5.10.ххх это очередной раз 
исправили. Но нет, во всяком случае на всех std-un-def из p9 глючит.

Рекомендуют ethtool -K <IFNAME> gso off gro off tso off, и это 
действительно помогает. Но вызывать команду ручками каждый раз после 
перезагрузки неудобно.

Попытки использовать /etc/net/ifaces/lan/ethtool ни к чему не привели. 
Почему-то не работает. Ок, решил попробовать так:

# cat /etc/systemd/network/70-lan.link
[Match]
MACAddress=00:15:17:d4:ae:4e
[Link]
TCPSegmentationOffload=false
GenericSegmentationOffload=false
GenericReceiveOffload=false


После перезагрузки получаю
# ethtool -k lan | egrep "tcp-seg|segmentation-offload"
tcp-segmentation-offload: on
         tx-tcp-segmentation: on
generic-segmentation-offload: off

То есть gso выключилось, как и просили. А tso нет. Гугл говорит, что в 
далеком 2017 году был некий баг на systemd

https://github.com/systemd/systemd/issues/6854

Ну прям один в один. Однако, баг какой-то мутный, почему-то в нем 
ссылаются на другие параметры, а потом просто закрывают. Как понять, что 
происходит? Баг закрыли, но не исправили? Исправили и снова сломали? Он 
тут вообще не при чем, и что-то в системе мешает изменить параметры 
сетевухи на этапе загрузки?



Подробная информация о списке рассылки Sisyphus