Gostaria de saber se alguém tem dados para me dar suporte. Estou configurando um lote de mini PCs com placa RTL 8125 2.5 Gb/s e, de fábrica, parece estar funcionando bem usando o driver Ubuntu stock r8169.
No entanto, só consegui testá-lo com um switch de 1000 Mb/s, e pesquisas mostram que há problemas de estabilidade quando a velocidade negociada é, na verdade, 2,5.
Alguém tem experiência usando RTL 8125 em um switch de 2,5 Gb/s via r8169 (fornecido com o Ubuntu 22) e exemplos reais de problemas que podem ocorrer?
Há cerca de 18 meses, executo um cluster de sistemas baseados em Rockchip RK3588 com portas Realtek 8125 duplas. Os sistemas estão executando Ubuntu 22.04, 24.04 e 24.10 e kernels 5.10, 6.1, 6.8, 6.9, 6.11 e agora 6.12, alguns com o driver principal r8169, alguns com o driver Realtek r8125 e alguns com minha reescrita do driver Realtek r8125. Alguns sistemas são conectados a um switch de 10 Gb de nível empresarial (HPE), alguns a um switch de 2,5 Gb de nível de consumidor (TPlink TL-SG105-M2) e alguns são conectados diretamente usando cabos curtos. Todos os cabos são CAT8 de qualidade (atingem 10 Gb completos em NICs de 10 Gb).
No geral, ambos os pilotos têm tido um desempenho muito bom:
Com o switch TPlink, o desempenho de recepção diminui com o passar do tempo devido a colisões de transmissão (medidas com a opção iperf3 -R) para cerca de 1,50 Gb/s após ~3 meses. Um ciclo de energia é necessário para restaurar o desempenho de 2+Gb/s, mas isso requer desligar o plugue (sem botão de reinicialização), o que para alguns proprietários fez o switch morrer!
Em termos de funcionalidade, o driver Realtek 8125 oferece suporte a mensagens MSI/MSIX, 4 filas RSS e 2 filas de transmissão, bem como suporte a PTP (embora eu nunca tenha conseguido fazer isso funcionar corretamente) além do driver principal r8169.
Em termos de estabilidade, houve alguns bugs, mas em cargas pesadas "normais" (por exemplo, TCP, docker, kubernetes, NFS, Samba, clusters FS etc.), tem sido sólido como uma rocha:
Alguns sistemas estão funcionando 24 horas por dia, 7 dias por semana, há 3 meses, sem uma única falha.
Acabei reescrevendo o driver Realtek 8125, corrigindo alguns problemas (o RK3588 de 8 núcleos estressa as 6 filas TX/RX e as linhas de cache ARM64 e algumas barreiras de memória estavam faltando ou não estavam posicionadas corretamente), mas o mais importante foi reduzir o consumo de CPU do sistema, melhorando o rendimento em 20% quando todas as 4 filas RSS e 2 filas TX estão 100% carregadas a 2,5 Gb e o tamanho do código em 50%. Atualmente tentando corrigir o PTP, progredindo, mas ainda não está funcionando totalmente (tentativa e erro, pois a Realtek não fornece documentação de HW).
Editar : o switch TPlink em si não é a única coisa a ser levada em conta. Além disso, (parâmetros de)
iperf3
podem alterar significativamente os resultados. Por exemplo,iperf3 -u -c <ip>
produz um resultado UDP abismal de 1 Mb/s.iperf3 -u -c <ip> -b 0
, que permite largura de banda ilimitada, produz um mais respeitáveis 1,62 Gb/s, masiperf3 -u -c <ip> -b 10GB
tem um desempenho estranho o suficiente nos 2,5 Gb/s completos (também no switch TPlink).